![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Где можна сохранить графику в програме?
Inkotex © (2003-10-21 12:47:00)
Первый вопрос
Как или где можна сохранить в програме рисунок, рисунки, а потом по необхадимости, в зависимости от условий выводить на TImage нужную картинку?
И второй вопрос
Естли универсальная вожможность записывать в базу (BLOB поля) графику разних форматов bmp, jpeg ... имеется в виду в одну базу, а потом оттуда считывать.
Как работать с jpeg или bmp по отдельности работать я понял.
Спасибо
Inkotex (2003-10-21 13:56:00) [1]
> Zacho
Да я имел ввиду DLL :)
Проста TImageList мне несовсем подходит, там можна графику сохранять формата bmp и ico, а мне надо jpeg.
Или тогда как я ранше писал универсальный способ записи и считывание с базы
Zacho (2003-10-21 13:33:00) [2]
> AntiFriz © (21.10.03 13:31) [8]
Подобные куски кода появляются на этом форуме примерно раз в неделю (а иногда и чаще) да и в FAQ есть. Неужели поискать было лень ?
Zacho (2003-10-21 13:32:00) [3]
> Inkotex (21.10.03 13:29) [7]
Может ты имел в виду dll ? Можно.
AntiFriz (2003-10-21 13:31:00) [4]
2 Inkotex без шуток - большое человеческое спасибо
Inkotex (2003-10-21 13:29:00) [5]
Sandman25 Спасибо
А можна как нибуть через ddl?
Sandman25 (2003-10-21 13:22:00) [6]
[5] Inkotex (21.10.03 13:18)
TImageList?
Inkotex (2003-10-21 13:18:00) [7]
Я имею ввиду если какойто компонент в котором можна сохранить несколько картинок а потом оттуда когда надо брать?
Inkotex (2003-10-21 13:16:00) [8]
пиши всё в 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;
AntiFriz (2003-10-21 13:04:00) [9]
Возникла такая же проблема.
Как можно сохранить в базе картинку общего типа TGraphic? Считать-то оттуда, насколько я понял, без проблем с TDBImage, а как сохранить? в принципе понятно, что надо использовать sql, но как конкретно, что-то не въезжаю
Inkotex (2003-10-21 12:58:00) [10]
А можна пример, или кусок кода?
На любом устройстве? несовсем понял
Reindeer Moss Eater (2003-10-21 12:51:00) [11]
1. На любом устройстве можно
2. Конечно есть