Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.023 c
7-42172
AndreySoft
2003-08-29 21:53
2003.11.13
Как выключить компьютер по IP-адресу


3-40834
Vick
2003-10-21 16:29
2003.11.13
Программа периодически выполняет недопустимые операции


1-41168
АлексейКотляр
2003-11-03 18:50
2003.11.13
Как програмно нажать кнопку мыши?


8-41748
greenrul
2003-07-08 16:13
2003.11.13
Как склеить несколько bmp в 1?


1-41700
MaxwellZ
2003-11-03 23:49
2003.11.13
Путь к программе




   Наверх