trichview.support
Re: Auto-Convert Bitmap to JPG-Image |
Author |
Message |
Michael Beck |
Posted: 08/09/2002 21:15:20 "Sergey Tkachenko" <[email protected]> wrote in message news:[email protected]... > I'v posted an example how to convert matafiles imported from RTF to bmp. > It's not difficult to change it to jpegs (one note: as far as I remember, in > the latest version procedure for OnCustomImageItem has one additional > parameter): OK, that's how it works for now. If it is metafile, it converst it first to BMP, and then to JPG. However, there are two issues: 1) when I want to compress the JPG, it generates (Scan line index out of range) error 2) if I comment it out, it works, but when I try save or export, it generates the same error as above. Any ideas? Thanks, Michael ======================= procedure TForm3.DoOnRTFImage(RVData: TCustomRVData; Graphic: TGraphic; Hypertext: Boolean; var item: TCustomRVItemInfo; var FreeGraphic: Boolean; RTFPicture: TRVRTFPicture); var bmp: TBitmap; jpg: TJPEGImage; begin if Graphic is TMetafile then begin bmp := TBitmap.Create; bmp.Width := Graphic.Width; bmp.Height := Graphic.Height; bmp.Canvas.Draw(0, 0, Graphic); Graphic := bmp; FreeGraphic := True; end; if Graphic is TBitmap then begin jpg := TJPEGImage.Create; jpg.assign(Graphic); jpg.CompressionQuality:=75; // jpg.Compress; // <== error (Scan line index out of range) Graphic := jpg; FreeGraphic := True; end; if Graphic = nil then begin bmp := TBitmap.Create; bmp.Width := 32; bmp.Height := 32; bmp.Canvas.Brush.Color := clBtnFace; bmp.Canvas.FillRect(Rect(0, 0, 32, 32)); Graphic := bmp; end; if Hypertext then item := TRVHotGraphicItemInfo.CreateEx(RVData, Graphic, rvvaBaseline) else item := TRVGraphicItemInfo.CreateEx(RVData, Graphic, rvvaBaseline); end; |
Powered by ABC Amber Outlook Express Converter