|
|
#1
|
|||
|
|||
Rave Reports jpg
Проблема такая.
Есть БД в ней хранятся данные сотрудников и ФОТКи в формате jpg. У меня ни как не получается вывести фотки в отчёт, так как визуальная компонента BITMAP может работать только с bmp. Подскажите может есть jpg компонента или хитрый метод конвертирования..? |
#2
|
||||
|
||||
Что именно не получается? А как пытаетесь открыть? Есть такая штука TJPEGImage и Assign.
|
#3
|
|||
|
|||
В общем в делфях вытащил на форму такие компоненты RvProject1 RVDATASETCONNECTION их связал с запросом а запрос какраз select photo from tab
ну соответственно в отчёте висит компонента битмап которая автоматом принимает фотку сразу с запроса.. вот я и ломаю голову как эту фотку перевести в bmp или использовать компоненту в отчёте которая умеет работать с джпегом..) (так как в стандартной визуальной компоненты работающей с JPG нет) В общем катастрофа..) Последний раз редактировалось stas_hash, 11.03.2010 в 13:25. |
#4
|
||||
|
||||
Как- то так:
Код:
var MS:TMemoryStream; JPG:TJPEGImage; BMP:TBitMap; begin MS := TMemoryStream.Create; JPG := TJPEGImage.Create; BMP := TBitmap.Create; (Query1.FieldByName('PHOTO') as TBlobField).SaveToStream(MS); MS.Position := 0; JPG.LoadFromStream(MS); BMP.Assign(JPG); DBImage1.Picture.Assign(BMP); MS.Free; JPG.Free; BMP.Free; |
#5
|
|||
|
|||
DBImage1.Picture.Assign(BMP);
Он его пихает DBImage1 а у меня проблема то что в RAVE REPORTE есть компонента которая берёт картинки.... из БД с помощью запроса... вот так конвертировать может не получится.. так как я даже не представляю куда запихать этот код.. в моём случае.) |
#6
|
||||
|
||||
Ну так и в примере картинка берется из запроса. В чем проблема?
Набросал пример, у меня работает. только использовал вместо запроса opendialog: Код:
var MyBitmap1: TRaveBitmap; MyPage: TRavePage; MS:TMemoryStream; JPG:TJPEGImage; BMP:TBitMap; begin OpenPictureDialog1.Execute; MS := TMemoryStream.Create; JPG := TJPEGImage.Create; BMP := TBitmap.Create; ms.LoadFromFile(OpenPictureDialog1.FileName); MS.Position := 0; JPG.LoadFromStream(MS); BMP.Assign(JPG); RvProject1.open; With RvProject1.ProjMan do begin MyPage := FindRaveComponent('Report1.Page1',nil) as TRavePage; MyBitmap1:=FindRaveComponent('BitMap1',MyPage) as TRaveBitmap; MyBitmap1.Image.Assign(BMP); MS.Free; JPG.Free; BMP.Free; end; RvProject1.SelectReport('Report1',True); RvProject1.Execute; RvProject1.close; Последний раз редактировалось TOJluK, 11.03.2010 в 15:39. |