属性编辑器 - 字体设置
字体设置
- 字体属性
- 填充
- 一点小问题
- 补记
QQ 282397369
字体属性
看教程,初步感觉,网页字体要比VCL的字体来得简单,居然没有粗体、斜体。
只有绘制、填充,可设置字体名称、大小,以及对齐、基线与方向。
我一定是看了个假教程。
那也先按这个教程来实现一下。以后发现可以设置粗体、斜体的时候,再回过头补充实现一下。
填充
又是填充,那肯定是与画笔、画刷共用了,以后只需要把填充这个界面整得漂亮点,整体就上了档次。
至于方向属性,暂不考虑。
在之前的基础上,设计一下界面,加几行代码,搞定。
if(UniRadioButton_FontFill->Checked) {if(fillIndex > 1)jsCode += L"ctx.fillStyle = gradient;";elsejsCode += THelper::FormatString(L"ctx.fillStyle = '#%02X%02X%02X';", GetRValue(color), GetGValue(color), GetBValue(color));} else {if(fillIndex > 1)jsCode += L"ctx.strokeStyle = gradient;";elsejsCode += THelper::FormatString(L"ctx.strokeStyle = '#%02X%02X%02X';", GetRValue(color), GetGValue(color), GetBValue(color));}if(UniComboBox_FontName->ItemIndex >= 0)jsCode += THelper::FormatString(L"ctx.font = \"%dpx %s\";", UniSpinEdit_FontSize->Value, UniComboBox_FontName->Text);jsCode += THelper::FormatString(L"ctx.textAlign = \"%s\";", UniComboBox_FontAlign->Text);jsCode += THelper::FormatString(L"ctx.textBaseline = \"%s\";", UniComboBox_FontBaseline->Text);UnicodeString text = L"Hello World!";if(!UniRadioButton_FontFill->Checked)jsCode += THelper::FormatString(L"ctx.strokeText(\"%s\", 40, 120);", text);elsejsCode += THelper::FormatString(L"ctx.fillText(\"%s\", 40, 120);", text);
单独针对轮廓与填充进行处理。
一点小问题
可以通过uniGUI获取字体名称列表,但分不清这是客户端机子的字体,还是服务端的字体。
如果是客户端的字体,那各客户端可能会有不同的字体,这在界面表现上会有问题。如果是服务端的字体就好办了,大家都一样。
待查。
真正的挑战还没开始,先用这几个基本的GDI对象练下手。我感觉要在Canvas上拖动图形对象,颇费思量。
补记
下午得闲,再多看了下别的教程,才发现自己孟浪了。字体确实是支持粗体、斜体的。
用关键词 html5 canvas font bold一搜,发现结果很多。挑个权威一点的W3 School,说得很清楚。
那就补上。
补的时候,有点汗颜。那就做得稍微专心一点,除去不常用的caption、icon、menu、message-box、status-bar,把基线、对齐效果也直观参照显示出来,即画出目标点为原点的XY轴,这样就知道各个参数调整后,与目标输出坐标点的位置关系。
实现后,发现,哦,原来如此。这下算是把font搞明白80%了。
比较有收获。
属性编辑器 - 字体设置相关推荐
- Texworks编辑器字体设置
Texworks编辑器字体设置 编辑 - 首选项 - 编辑器 - Times New Roman,16磅- 单击 OK 按钮. 注意:需要关闭Texworks后重新打开才能对应用这个功能
- IntelliJ IDEA 13 皮肤/编辑器字体设置
1.皮肤/字体设置 file --setting 在最左上角的搜索框里,输入"Appear"(IntelliJ IDEA很智能,马上会匹配出Appearance),参考下图: 效果图: 2.修改编辑器 ...
- CSS中设置字体样式的5种常用属性—让字体设置再无难点
设置字体样式的5中常用属性如下 1:color 设置字体颜色,也可以设置其他颜色 2:font-size 设置字体大小 (1).设置的并不是文字本身的大小,在页面中,每个文字都是处在一个看不见的框中的 ...
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的调色板palette属性和字体font属性设置
一.调色板 在Qt Designer的部件属性中,有个部件调色板(palette)的属性,进入后,如下图所示: 1.调色板palette Qt中提供的调色板palette用于管理控件的外观显示,对应P ...
- IntelliJ IDEA 中设置左菜单字体, 编辑器字体和控制台的字体
IntelliJ IDEA 中设置左菜单字体大小 File-Settings,然后选择appearance,下图右侧红色边框中的内容即设置菜单的字体和大小 IntelliJ IDEA 中设置当前编辑器 ...
- matplotlib的Text、FontProperties对象、字体(font)属性|中文字体的设置|图像标题、label字体的设置
matplotlib.text.Text对象 见文档描述matplotlib.text 设置Text字体性质的方法有两个: Text.set(xxx=value) Text.set_xxx(value ...
- docx_demos(创建文档类Document及属性方法, 创建段落文本类Paragraph及段落格式设置, 创建字体设置类Run及属性等)
""" docx_demos.py(创建文档类Document及属性方法, 创建段落文本类Paragraph及段落格式设置, 创建字体设置类Run及属性等)使用:一.创建 ...
- Markdown编辑器语法——设置字体、字号和颜色
注意 本人的博客都迁移到本人自己搭建的博客地址,通过此处可查看. Markdown编辑器语法--设置字体.字号和颜色 Markdown是一种可以使用普通文本编辑器编写的标记语言,类似于HTML的标记语 ...
- html字体设置大小打印无效,css font-size属性怎么不管用?
css font-size属性用于设置字体大小.在实际的开发中,有时会发现font-size属性不管用了,设置的字体大小是无效的.这是什么原因?怎么解决?下面本篇文章给大家介绍一下. css font ...
最新文章
- ubuntu 安装 lamp 环境
- python语言变量命名规则有什-以下选项中,符合Python语言变量命名规则的是_学小易找答案...
- maven打包出错: Failed to clean project: Failed to delete
- wx5 mysql起不来_mysql(四)—–mysql主从配置-wx5bd1240aa20ac的博客
- java变量不声明可以直接使用吗_我们可以在不使用Java进行初始化的情况下声明最终变量吗?...
- java实现计算字符串表达式
- 前端学习(515):两列布局第二种方案得优缺点
- golang 所有进程休眠_Golang-进程无故消失?
- ubuntu 下LAMP服务器环境搭建
- Android学习笔记05---项目的目录结构与安装及启动过程分析
- 使用阿里云集成包快速搭建LAMP+FTP教程
- 双击java安装包没有反应_雨林木风Win7下双击JER安装包没有反应的解决技巧
- sql 不允许保存更改 解决办法
- IDEA打包war部署到Tomcat
- eMTC是什么技术?
- Python爬虫之小猪短租房
- Blowfish加密算法
- java.sql. SQLException: No suitable driver found for jdbc :mysql://localhost:3306/test
- 元宇宙时代的5大风险
- python制作界面_详解python做UI界面的方法
热门文章
- 《软件工程》第一章——初始软件工程
- 企业信息化发展下,适合中小企业的容灾备份解决方案
- Beginning主题模板V3-简约的emlog主题模板
- java狗具有特别的接飞盘的方法_怎么训练狗玩飞盘?接飞盘的技术及要领分析...
- Rancher PaaS平台简介
- 支持HCE功能的NFC手机(Android)、 支持NFC功能的手机大全(安卓、微软、塞班、苹果)
- UTF-8,ISO-8859-1,GBK等字符集说明
- rust木炭有用吗_Rust 2020 调查报告出炉,95%的开发者吐槽Rust难学
- 【GIS前沿】周成虎院士:GIS的大数据时代展望(PPT分享)
- 智慧海洋Task02 数据分析