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

Габариты Image   Найти похожие ветки 

 
iamkate ©   (2005-10-13 09:00) [0]

Я загружаю из blob-поля в Image картинку вот таким образом:

procedure OpenPage (Sender: TObject);
var buff:ansistring;
   lob:tloblocator;
   ms:TMemoryStream;
begin
 inherited;
 if PageControl.ActivePage = tshPhoto Then
   begin
     With OracleQuery do
     begin
       DeleteVariables;
       DeclareVariable("id",otinteger);
       DeclareVariable("photo",otblob);
       Sql.Clear;
       Sql.Add("Begin K_Read_Photo(:id,:Photo); End;");
       SetVariable("id",FKeyFieldValue);
       lob:= TLOBLocator.Create(OracleSession,otblob);
       SetComplexVariable("photo",lob);
       Execute;  
         lob.SaveToFile("c:\1.bmp");
         image.Picture.LoadFromFile("c:\1.bmp");
     end;
   end;
end;

При этом картинка растягивается по размеру Image и, естественно, получается деформированной.
Подскажите, пожалуйста, как подогнать прпорции Image под размер картинки, чтобы она выводилась в нормальном виде?
И еще, можно ли как-нибудь обойтись без предварительного сохранения картинки в файл, перед загрузкой ее в Image?


 
ЮЮ ©   (2005-10-13 09:07) [1]

Не сохранять в файл, а - в MemoryStream, откуда загрузить в TBitmap, у которого потом получить Width и Height для расчета размеров TImage


 
iamkate ©   (2005-10-13 12:01) [2]

У меня была попытка использовать MemoryStream вот таким вот образом:

ms := TMemoryStream.Create;
SetLength(buff, lob.Size);
lob.Read(buff[1],lob.Size);
ms.setSize(length(buff));
ms.Write(buff[1],length(buff));
image.Picture.bitmap.LoadFromStream(ms);

На последнюю строчку ругается.


 
ЮЮ ©   (2005-10-14 04:12) [3]

>На последнюю строчку ругается.

Я тоже ругаюсь, ибо причен для "ругани" здесь много

1) image.Picture (или image.Picture.bitmap) может быть  nil
 
 bmp := TBitmap.Create;
 try
   bmp.LoadFromStream(ms);
   image.Picture.Assign(bmp);
 finally
   bmp.Free
 end;

2) стрим не "перемотан" в начало (ms.Position := 0)



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

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



Память: 0.45 MB
Время: 0.044 c
14-1131013239
konda
2005-11-03 13:20
2005.11.27
редактирование PDF


5-1113173273
Бывший студент
2005-04-11 02:47
2005.11.27
Колонки TStringGrid


2-1131802641
Fr3nch
2005-11-12 16:37
2005.11.27
Обращение к динамически созданной метке


2-1131304186
ЯТутаНовичек
2005-11-06 22:09
2005.11.27
Помогите с TDate


2-1131111827
Express
2005-11-04 16:43
2005.11.27
MDI-приложения




   Наверх