社区
GAME,图形处理/多媒体
帖子详情
字体类型变化产生的悲剧
2540546520
2010-12-04 09:04:52
现在我在一个label控件上写上一个 ‘国’ 字
现在我这样在button1的事件中设置如下
label.font.size:=100;
label.font.style:=[fsItalic];
这样的话label的字体变成斜体后就会显示不完全
现在boss要我计算出变成斜体后的矩形框宽高,我使用API, textextent计算,斜体的大小和正常字体是一样的
现在咋办 ,来个高手帮忙计算计算
...全文
143
15
打赏
收藏
字体类型变化产生的悲剧
现在我在一个label控件上写上一个 ‘国’ 字 现在我这样在button1的事件中设置如下 label.font.size:=100; label.font.style:=[fsItalic]; 这样的话label的字体变成斜体后就会显示不完全 现在boss要我计算出变成斜体后的矩形框宽高,我使用API, textextent计算,斜体的大小和正常字体是一样的 现在咋办 ,来个高手帮忙计算计算
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhuang_bx
2010-12-05
打赏
举报
回复
Label1.AutoSize 这个没用吗,如果是中文,就把字体设置一下
Oraclers
2010-12-04
打赏
举报
回复
[Quote=引用 9 楼 gobiz 的回复:]
一个比较笨的方法:
1、创建一个尽可能大的Bitmap,至少可以让这个字可以完整的显示出来。
2、设置Canvas的背景色为白色,字体颜色为黑色,字体尺寸为100,斜体。
3、在Canvas上输出这个字。
4、遍历Bitmap上的所有像素点,判断该像素点的颜色为黑色,来获取相应的Left、Right、Top、Bottom,并由此得到这个字体所占据矩形框的Width和Height。
[/Quote]
用得著這麼復雜嗎,變成斜體後只要將Label的寬度加大一點就可以了,我算了下寬度系數為1.177左右。
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Font.Size := 100;
Label1.Font.Style := [fsItalic];
Label1.Width := round(Label1.Width*1.177);
end;
2540546520
2010-12-04
打赏
举报
回复
是这样的哈
我的背景是固定的 是白色的 但是有黑点的 而且字体颜色是可变的 所以不能通过像素点判断的
而且 字 一定是放在Label上的
gobiz
2010-12-04
打赏
举报
回复
一个比较笨的方法:
1、创建一个尽可能大的Bitmap,至少可以让这个字可以完整的显示出来。
2、设置Canvas的背景色为白色,字体颜色为黑色,字体尺寸为100,斜体。
3、在Canvas上输出这个字。
4、遍历Bitmap上的所有像素点,判断该像素点的颜色为黑色,来获取相应的Left、Right、Top、Bottom,并由此得到这个字体所占据矩形框的Width和Height。
2540546520
2010-12-04
打赏
举报
回复
2540546520
2010-12-04
打赏
举报
回复
2540546520
2010-12-04
打赏
举报
回复
[Quote=引用 5 楼 bdmh 的回复:]
对于斜体字可能要加一个系数值
[/Quote]
我看到 斜体的显示 好像和 size属性有关系 那这个系数值应该怎么计算呢
bdmh
2010-12-04
打赏
举报
回复
对于斜体字可能要加一个系数值
2540546520
2010-12-04
打赏
举报
回复
我就是想获取字体宽度 来设置 label 宽度
一定要计算斜体字体宽度的 谢谢
2540546520
2010-12-04
打赏
举报
回复
按钮的尺寸调大一些??
额 不明白你的意思
JPEXE
2010-12-04
打赏
举报
回复
把你的那按钮的尺寸调大一些。
2540546520
2010-12-04
打赏
举报
回复
Oraclers
2010-12-04
打赏
举报
回复
[Quote=引用 13 楼 chensongbin0 的回复:]
哎 有没有高手给个标准点,精确些的算法 谢谢
[/Quote]
你不就是要解决问题吗?要精确的话你先计算一下斜体字倾斜角度(或者有一个已知角度)然后通过三角函数可计算出。倾斜角度的算法可以参照:
http://wenku.baidu.com/view/21c5e91ffc4ffe473368abab.html
2540546520
2010-12-04
打赏
举报
回复
哎 有没有高手给个标准点,精确些的算法 谢谢
二十三种设计模式【PDF版】
整体结构和一些主要职责(如数据库操作 事务跟踪 安全等),剩余的就是
变化
的东西,针对这个领域中具体应用
产生
的具体不同 的
变化
需求,而这些
变化
东西就是 J2EE 程序员所要做的。 由此可见,设计模式和 J2EE 在思想...
[渝粤教育] 保定学院 艺术教育 参考 资料
教育 -艺术教育-章节资料考试资料-保定学院【】 第一单元【单元作业】谈谈科幻艺术的精神家园意义 第一单元【单元测验】 1、【单选题】艺术活动系统由 构成。...C、
悲剧
美 D、喜剧美 参考资料【 】 3、
开发人员需知的Web缓存知识(转)
缓存的
类型
: 浏览器缓存; 代理服务器缓存; 网关缓存; Web缓存无害吗?为什么要鼓励缓存? Web缓存如何工作 如何控制缓存和不缓存: HTML Meta标签 vs. HTTP头信息; Pragma HTTP头信息(以及为...
手机屏幕
类型
分析
正面观看与不同角度观看时所
产生
的颜色
变化
程度称为色彩扭曲率,IPS硬屏所得出的数值几乎用肉眼分辨不出来,即意味着从正面 还是侧面观看画面的效果是相同的。 最早研发出IPS面板的是日立,而LG Display的...
最全-python教程示例大全 同步学习
编写简单的程序2.1 示例程序2.2 标识符及命名规范2.3 变量与赋值语句2.3.1 Python语言中的变量2.3.2 变量的赋值2.3.3 链式赋值语句2.3.4 解包...数据
类型
2.5.2 内置的数值操作2.6 字符串2.7 混合运算和
类型
转换第3章...
GAME,图形处理/多媒体
1,183
社区成员
14,336
社区内容
发帖
与我相关
我的任务
GAME,图形处理/多媒体
Delphi GAME,图形处理/多媒体
复制链接
扫一扫
分享
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章