image

引用CnPack组件 中的 CnRichEdit,
private
      FRender: TCnRichEditRender;
////////////////////////////////////////////////
procedure TFormRender.FormCreate(Sender: TObject);
begin
  FRender := TCnRichEditRender.Create;
end;

procedure TFormRender.FormDestroy(Sender: TObject);
begin
  FRender.Free;
end;
var
  Bmp: TBitmap;
  Mem: TMemoryStream;
  W: Integer;
  sss: tstringlist;

  annistring:AnsiString;
begin
  W := StrToIntDef(editor.Text, 0);
  FRender.BackgroundColor := clwhite;

  Mem := TMemoryStream.Create;
  editor.Lines.SaveToFile('aaa.rtf');
  sss:=  tstringlist.Create;
  sss.LoadFromFile('aaa.rtf');
  annistring:=  sss.Text;
  Mem.WriteBuffer(Pointer(annistring)^, Length(annistring)*2);

  Mem.Position := 0;
  Bmp := FRender.RenderRtfToBitmap(Mem, W);
  if Bmp <> nil then    begin
     Bmp.SaveToFile('rtf.bmp');
     ShellExecute(0, 'open', 'mspaint', PChar('rtf.bmp'), nil, SW_SHOWNORMAL);
    Bmp.Free;
  end;
  Mem.Free;
  sss.Free;
end;