Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

Где можна сохранить графику в програме?   Найти похожие ветки 

 
Inkotex   (2003-10-21 12:47) [0]

Первый вопрос
Как или где можна сохранить в програме рисунок, рисунки, а потом по необхадимости, в зависимости от условий выводить на TImage нужную картинку?
И второй вопрос
Естли универсальная вожможность записывать в базу (BLOB поля) графику разних форматов bmp, jpeg ... имеется в виду в одну базу, а потом оттуда считывать.
Как работать с jpeg или bmp по отдельности работать я понял.
Спасибо


 
Reindeer Moss Eater ©   (2003-10-21 12:51) [1]

1. На любом устройстве можно
2. Конечно есть


 
Inkotex   (2003-10-21 12:58) [2]

А можна пример, или кусок кода?
На любом устройстве? несовсем понял


 
AntiFriz ©   (2003-10-21 13:04) [3]

Возникла такая же проблема.
Как можно сохранить в базе картинку общего типа TGraphic? Считать-то оттуда, насколько я понял, без проблем с TDBImage, а как сохранить? в принципе понятно, что надо использовать sql, но как конкретно, что-то не въезжаю


 
Inkotex   (2003-10-21 13:16) [4]

пиши всё в jpeg мало места занимает, считать можно так
Только uses подключи модуль jpeg

NewGraphic := TJPEGImage.Create;
try
NewGraphic.Assign(adoImage.FieldByName("Picture"));
imgImage.Picture.Graphic := NewGraphic;
finally
NewGraphic.Free;
end;

пишеш
TBlobField().LoadFromFile();

если работаеш с bmp можеш через Assign

procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
Image1.Picture.Bitmap.Assign(TBlobField(IBQuery1.FieldByName("foto")));
end;

или вот еще пример

Чтение из блоб-поля в OleContainer

var S: TStream;
begin
if not pFIBDataset1BLOBFIELD.IsNull then
begin
S:=pFIBDataset1.CreateBlobStream(pFIBDataset1BLOBFIELD, bmRead);
try
OleContainer1.LoadFromStream(S)
finally
S.Free
end;
end;
end;

Запись в блоб-полe из OleContainer (вызываeтся в BeforePost)

var S: TStream;
begin
S:=pFIBDataSet1.CreateBlobStream(pFIBDataSet1BLOBFIELD,
bmReadWrite);
try
OleContainer1.SaveToStream(S)
finally
S.Free
end;
end;

Еще вариант работы с BLOB
=========================
var
FS : TFileStream;
begin
FS := TFileStream.Create("c:\temp\sample.txt", fmOpenRead);
try
Query1.ParamByName("CurVal").LoadFromStream(FS, ftMemo);
Query1.ExecSQL;
Database1.Commit;
finally
FS.Free;
end;
end;


 
Inkotex   (2003-10-21 13:18) [5]

Я имею ввиду если какойто компонент в котором можна сохранить несколько картинок а потом оттуда когда надо брать?


 
Sandman25 ©   (2003-10-21 13:22) [6]

[5] Inkotex (21.10.03 13:18)

TImageList?


 
Inkotex   (2003-10-21 13:29) [7]

Sandman25 Спасибо
А можна как нибуть через ddl?


 
AntiFriz ©   (2003-10-21 13:31) [8]

2 Inkotex без шуток - большое человеческое спасибо


 
Zacho ©   (2003-10-21 13:32) [9]


> Inkotex (21.10.03 13:29) [7]

Может ты имел в виду dll ? Можно.


 
Zacho ©   (2003-10-21 13:33) [10]


> AntiFriz © (21.10.03 13:31) [8]

Подобные куски кода появляются на этом форуме примерно раз в неделю (а иногда и чаще) да и в FAQ есть. Неужели поискать было лень ?


 
Inkotex   (2003-10-21 13:56) [11]

> Zacho
Да я имел ввиду DLL :)
Проста TImageList мне несовсем подходит, там можна графику сохранять формата bmp и ico, а мне надо jpeg.
Или тогда как я ранше писал универсальный способ записи и считывание с базы



Страницы: 1 вся ветка

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.026 c
7-42149
ZHK
2003-09-03 09:43
2003.11.13
Смена пользователя это просто???


1-41487
AAZ72
2003-10-28 15:00
2003.11.13
Преобразование строки в название класса


1-41184
Mistic
2003-11-02 15:58
2003.11.13
Child -Форма в DLL


3-40924
VID
2003-10-16 01:01
2003.11.13
Непонятное поведение клиента при потере связи с сервером


14-42076
VEG
2003-10-23 17:30
2003.11.13
HyperTerminal