Вниз
Скачать: CL | DM;

Работа с изображениями   Найти похожие ветки 

 
Inkotex   (2003-12-11 19:36) [0]

Возникла вот такая проблема.
Как сделать так чтоб в своей програме (работа с базой даных) я мог хранить некоторые избражения, которые потом мог выводить(использовать) при определенных условиях, но не в самой базе?


 
Denis ©   (2003-12-12 09:16) [1]

Для себя я написал следующую процедуру:
procedure ShowImage(Table:TBlobField;Jim:TImage;);

Procedure TfmEditing.ShowImage;
var
FName :string;
Stream:TMemoryStream;
Img:TJpegImage;
Rect:TRect;
begin
Img:=TJpegImage.Create;
Rect.Left:=0;
Rect.Top:=0;
Rect.Right:=Jim.Width;
Rect.Bottom:=Jim.Height;
//пишем из файла в память
FName:=OpenDialog1.FileName;
Stream:=TMemoryStream.Create;
Stream.LoadFromFile(FName);
//и из памяти в поле таблицы
Stream.Position:=0;
Table.LoadFromStream(stream);
Streem.Free;
end;
//сразу же считываем из таблицы в память - как бы проверка
if not Table.IsNull then
begin
Stream:=TMemorystream.Create;
Table.SaveToStream(Stream);
//и прорисовываем на форме
streem.Position:=0;
try
Img.LoadFromStream(Stream);
Jim.canvas.StretchDraw(Rect,Img)
except

begin
Img.Free;
end;
end;
Stream.Free;
end
else
//если поле таблицы пусто
begin
Jim.Canvas.Brush.Color:=fmEditing.Color;
Jim.Canvas.Rectangle(0,0,Jim.Width,Jim.Height);
end;
Jim.Free;
end;



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

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



Память: 0.45 MB
Время: 0.017 c
14-25578
SAG
2003-12-18 02:05
2004.01.09
Сборник


1-25288
evgnib
2003-12-23 12:04
2004.01.09
TServiceApplication и формы


1-25410
EugenCFG
2003-12-24 14:23
2004.01.09
Мерцания при прорисовки или большой объём файлов.


1-25302
~GaMeRd~
2003-12-11 21:14
2004.01.09
Работа с ДЛЛ-ками


3-25247
trever
2003-12-13 12:27
2004.01.09
Recordset




   Наверх