trichview.support
Re: Auto-Convert Bitmap to JPG-Image |
Author |
Message |
Sergey Tkachenko |
Posted: 08/28/2002 23:53:56 Does your image have height = 1? > > > 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