怎么将 RTF 文件 转化成 BMP 文件(大小固定)!(200分)

  • 主题发起人 主题发起人 Jj1985
  • 开始时间 开始时间
J

Jj1985

Unregistered / Unconfirmed
GUEST, unregistred user!
现在有一个RTF 文件.
里面有一些内容. 版式已经排好.字体..字体形色也都设置好了.
现在我想转化成若干张bmp图片(256*64大小的)
图片底色为黑色.内容为RTF文件里面的内容(版式.字体.字体颜色.字体大小都要一致). 当一张图片显示不了.在生成另外的图片.
现在我的大致思路是先在内存中建个TBitmap.在从RTF文件中读出内容.把canvas设好.在画出来.!但读出一行内容后不知道分析他的字体.颜色.大小等等.
 
在线等待高手啊.
 
没有人知道吗?急啊.!
 
qq:292044357
www.tsinghuabaodi.com
 
继续等待高手出现!
 
还没有人会啊?[:D]
 
晕啊.为什么还是没有人回答呢?
 
非常简单的,不用这么麻烦
用FR做个报表转换一下保存就可以了。。。。
 
路过,学习。。。
 
gear1023 兄弟.
能提供点详细的东西吗?
 
发EMIAL给我,给个DEMO你
 
hujianwu007@126.com

谢谢楼上的兄弟了.希望用帮助.!
 
To gear1023

有源码没? 简单的都行!
 
n久没来了。

去看看TRICHEDIT的源码,关于打印的那个函数,自然就解决了。
 
可以看出你可能是想做LED方面的软件,其实RTF转BMP是很简单的,不用什么转换,我做这个经验太丰富了
 
var
Range: TFormatRange;
bmp, InvertBmp: TBitmap;
begin
bmp := TBitmap.Create;
bmp.PixelFormat := pf24bit;
bmp.TransparentColor := rtfDoc.Color;
bmp.Transparent := True;
bmp.SetSize(rtfDoc.ClientWidth, rtfDoc.ClientHeight);
bmp.Canvas.Brush.Color := bmp.TransparentColor;
bmp.Canvas.FillRect(bmp.Canvas.ClipRect);
Range.hdc := bmp.Canvas.Handle;
Range.hdcTarget := bmp.Canvas.Handle;
Range.rc.Left := rtfDoc.BorderWidth * 1440 div Screen.PixelsPerInch;
Range.rc.Top := rtfDoc.BorderWidth * 1440 div Screen.PixelsPerInch;
Range.rc.Right := (Width - rtfDoc.BorderWidth) * 1440 div Screen.PixelsPerInch;
Range.rc.Left := (Height - rtfDoc.BorderWidth) * 1440 div Screen.PixelsPerInch;
Range.chrg.cpMin := 0;
Range.chrg.cpMax := -1;
SendMessage(rtfDoc.Handle, EM_FORMATRANGE, 1, Longint(@Range));
SendMessage(rtfDoc.Handle, EM_FORMATRANGE, 0, 0);
///这里的bmp即为bmp文件
bmp.Free;
 
后退
顶部