如何在将richEdit中的文字导成BMP文件时,文字在BMP中实现水平方向的居左、居中、居右以及垂直方向的居上、居中、居下的效果

cngufc 2008-11-14 10:49:20
如题,谢谢
...全文
235 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
亮剑_ 2010-08-02
  • 打赏
  • 举报
回复
08年的帖子,
亮剑_ 2010-08-02
  • 打赏
  • 举报
回复
感谢分享
shwarpine 2010-08-02
  • 打赏
  • 举报
回复
Mark.谢谢厉害的楼主。
ecjtu5208 2010-08-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 shwarpine 的回复:]
Mark.谢谢厉害的楼主。
[/Quote]
你是怎么把这帖子翻出来的啊?我给100分提这个问题。呵呵
kye_jufei 2010-08-02
  • 打赏
  • 举报
回复
謝謝分享...
ccrun.com 2010-08-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 tjianliang 的回复:]
08年的帖子,
[/Quote]

oushengfen 2008-11-17
  • 打赏
  • 举报
回复
楼主,不错,解决完了,还分亨一下,每个人都这样就好了。
hongqi162 2008-11-16
  • 打赏
  • 举报
回复

使用gdi+试试,参考以下代码

//设置对齐方式
var
g: TGPGraphics;
str: String;
fontFamily: TGPFontFamily;
font: TGPFont;
rectF: TGPRectF;
strFormat: TGPStringFormat;
sb: TGPSolidBrush;
p: TGPPen;
begin
g := TGPGraphics.Create(Canvas.Handle);
fontFamily:= TGPFontFamily.Create('Arial');
font:= TGPFont.Create(fontFamily, 12, FontStyleBold, UnitPoint);
rectF:= MakeRect(30.0, 10.0, 120.0, 140.0);
sb:= TGPSolidBrush.Create(MakeColor(255, 0, 0, 255));

strFormat:= TGPStringFormat.Create;
strFormat.SetAlignment(StringAlignmentCenter); {设置左右对齐方式}
strFormat.SetLineAlignment(StringAlignmentCenter); {设置垂直对齐方式}

str := 'wy wy wy wy wy wy wy wy wy wy wy wy wy wy wy wy wy wy';
g.DrawString(str, -1, font, rectF, strFormat, sb);

p:= TGPPen.Create(MakeColor(255, 0, 0, 0));
g.DrawRectangle(p, rectF);

fontFamily.Free;
font.Free;
strFormat.Free;
sb.Free;
p.Free;
g.Free;
end;
cngufc 2008-11-16
  • 打赏
  • 举报
回复
哈哈,解决了,具体方法如下:(我使用的RIchEdit 的背景是黑色的,文字颜色只有一种:红色,字体随便)

1、将RichEdit里的文字转换成图片【在转换之前可以设置RichEdit中的文字水平方向的居左、居中、居右】。
2、将文字读入TBitMap,然后利用 ScanLine 先从图像的第一行开始 检查每行的像素中是否包含红色像素。得到有文字部分图像的开始行数。
3、同样的方法,从最后一行反方向读取每一行的像素,并检查,得到图像中最后一行有红色像素的行数,这样就可以知道文字部分的在图像中的位置。
4、使用一个二维数组复制出这部分的图像。
5、重新建立一个符合要求的画布,背景为黑色,然后根据要求【垂直方向的居上、居中、居下】将上边获得的图像部分插到该画布中,然后保存当前图像。

这样就完工了。
gjw310 2008-11-15
  • 打赏
  • 举报
回复
帮顶

5,930

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧