Shahriyari
دوشنبه 11 تیر 1386, 14:46 عصر
چطوری میشه یک richedit  را به یک تصویر Bitmap تبدیل کرد 
با تشکر 
شهریاری
Touska
دوشنبه 11 تیر 1386, 16:28 عصر
با سلام
procedure RichEditToCanvas(RichEdit: TRichEdit; Canvas: TCanvas; 
PixelsPerInch: Integer);
var
  ImageCanvas: TCanvas;
  fmt: TFormatRange;
begin
  ImageCanvas := Canvas;
  with fmt do
  begin
    hdc:= ImageCanvas.Handle;
    hdcTarget:= hdc;
    // rect needs to be specified in twips (1/1440 inch) as unit
    rc:=  Rect(0, 0,
                ImageCanvas.ClipRect.Right * 1440 div PixelsPerInch,
                ImageCanvas.ClipRect.Bottom * 1440 div PixelsPerInch
              );
    rcPage:= rc;
    chrg.cpMin := 0;
    chrg.cpMax := RichEdit.GetTextLen;
  end;
  SetBkMode(ImageCanvas.Handle, TRANSPARENT);
  RichEdit.Perform(EM_FORMATRANGE, 1, Integer(@fmt));
  // next call frees some cached data
  RichEdit.Perform(EM_FORMATRANGE, 0, 0);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
 RichEditToCanvas(RichEdit1, Image1.Canvas, Self.PixelsPerInch);
 Image1.Refresh;
end;موفق باشید :)
ali_abbasi22145
دوشنبه 11 تیر 1386, 16:59 عصر
سلام
این کد را در یک سایت دیدم و نتوانستم اجرایش کنم کسی اگر مثال کاملش را دارد در اینجا آپلود کند:
Touska
سه شنبه 12 تیر 1386, 16:24 عصر
اینم مثال :
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.