Вниз
Скачать: 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.025 c
4-1127564241
Реактор
2005-09-24 16:17
2005.11.27
Keybd_Event не хочет нажимать на "точку"


4-1127747035
NikNet
2005-09-26 19:03
2005.11.27
Хочу создать свой TaskBar но мне надо знать структуру контролов


5-1112424029
Mutex
2005-04-02 10:40
2005.11.27
TPropertyEditor -> TOrdinalProperty


14-1131517278
Lamer@fools.ua
2005-11-09 09:21
2005.11.27
В Киеве уже который день туман


1-1130924158
ASDSee
2005-11-02 12:35
2005.11.27
увеличить в два раза BMP из загруженного в новосозданный




   Наверх