Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


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. Конечно есть


Наверх

Титульная страница Поиск, карта сайта Написать письмо