Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.31;
Скачать: CL | DM;

Вниз

Про отображение BLOB типа jpeg в DBImage   Найти похожие ветки 

 
Курдль   (2005-07-11 11:09) [0]

Добрый!
Не хотелось беспокоить по пустякам, но поиск по ФАКу что-то не отработал.
Напомните, плз, как отобразить изображение типа jpeg, упакованное в BLOB-поле БД показать в DBImage?


 
Ega23 ©   (2005-07-11 11:23) [1]

uses JPEG

function LoadImage(DS:TDataSet; ImageFieldName:String):Boolean;
var
ms:TMemoryStream;
jpg:TJPEGImage;
begin
Result:=False;
try
  if (not DS.Active) or (DS.FieldByName(ImageFieldName).IsEmpty) then Exit;
  ms:=TMemoryStream.Create;
  jpg:=TJPEGImage.Create;
  /// Грузим туда, куда надо
 try
  TBLOBField(DS.FieldByName(ImageFieldName)).SaveToStream(ms);
  jpg.LoadFromStream;
   
  Result:=True;
 finally
  ms.Free;
  jpg.Free;
 end;  

except
 Result:=False;
end;

end;


 
Курдль   (2005-07-11 11:41) [2]

Спасибо!
А TJPEGImage визуальный компонент?

Значицца, как я понял, никакими шаманствами стандартный DBImage не заставить прибиндиться к полю, содержащему JPEG...


 
Ega23 ©   (2005-07-11 11:48) [3]

А TJPEGImage визуальный компонент?

Нет, это просто класс.

Значицца, как я понял, никакими шаманствами стандартный DBImage не заставить прибиндиться к полю, содержащему JPEG...

Почему? uses JPEG пропиши, я думаю заработает.


 
Ega23 ©   (2005-07-11 11:55) [4]

Виноват. JPEG действительно не хочет просто так грузить. Тогда либо калькулироемое поле делай и в него конверти из Jpeg в Bmp, либо - см. [1].
Лично я никогда DBImage не использовал - всегда сам конвертил в тот формат, в какой надо.


 
Курдль   (2005-07-11 11:57) [5]

//Почему? uses JPEG пропиши, я думаю заработает.

Нет. Не зарабатывает - я бы так просто не сдался :)


 
Курдль   (2005-07-11 22:02) [6]

А вот нефига не выходит у меня каменный цветок! :)
Хотелось бы вотт это место подробнее: "/// Грузим туда, куда надо"

И как, напр. из Вашего jpg выгрузить в, например, Image1?


 
Ega23 ©   (2005-07-12 09:45) [7]


А вот нефига не выходит у меня каменный цветок! :)
Хотелось бы вотт это место подробнее: "/// Грузим туда, куда надо"

И как, напр. из Вашего jpg выгрузить в, например, Image1?


Вот работающий пример:

ss:="select PersFaceImg,FaceDat from persadd where persid="+PersID;
quOpen(DMpas.RQTemp,ss);
Fld:=TBlobField(DMpas.RQTemp.FieldByName("PersFaceImg"));
if not fld.IsNull then
 begin
  ms:=TMemoryStream.Create;
  fld.SaveToStream(ms);
  PersImage.Picture.LoadFromStream(ms);
  ms.Free;
  lPersFaceDat.Caption:=FormatDateTime("dd/mm/yyyy",DMpas.RQTemp.FieldByName("FaceDat").AsDateTime);
 end
else
 begin
  PersImage.Picture.LoadFromFile(fnBlank);


 
Ega23 ©   (2005-07-12 09:46) [8]

Наврал. SaveToFile/LoadFromFile


 
Курдль   (2005-07-12 10:27) [9]

Моя делфя не умеет .".Picture.LoadFromStream(ms)"  :(


 
Ega23 ©   (2005-07-12 10:28) [10]

Моя делфя не умеет .".Picture.LoadFromStream(ms)"  :(

см.[8]


 
Курдль   (2005-07-12 10:41) [11]

Т.е. только с использованием временного файла?
Не, так не пойдет...
Пороюсь в своих старых проектах. Там где-то была усиленная работа BLOВ-полей с OLEContainer-ом...


 
Ega23 ©   (2005-07-12 10:46) [12]

Другой вариант - конвертить в bmp и рисовать уже bmp прямо на Canvas.



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

Текущий архив: 2005.07.31;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.057 c
14-1120802921
ПЛОВ
2005-07-08 10:08
2005.07.31
Почему на материнских платах со встроеной видахой...


14-1120642586
DiamondShark
2005-07-06 13:36
2005.07.31
Скажите кто-нибудь цены на Windows


14-1120815378
lookin
2005-07-08 13:36
2005.07.31
Высокоскоростная съемка


14-1120553020
DelphiN!
2005-07-05 12:43
2005.07.31
Web FTP Client


14-1120713058
pavel_guzhanov
2005-07-07 09:10
2005.07.31
преобразование html в doc или pdf