当前位置: 首页 > news >正文

[Gdiplus/Gdi]_[中级]_[实现多行文本的多种颜色绘制-富文本绘制]

场景

  1. 在开发WTL/WIN32界面程序时,有时候需要绘制多行的段落文本,但是文本里的数值需要设置红色以便能让人第一时间关注到它。这种文本可以称之为富文本。GDIDrawTextGDIPlusDrawString方法都只能连续绘制某个颜色的文本。怎么实现?

说明

  1. 在《绘图实现单行文本的多种颜色》[1]里介绍了绘制单行多种颜色文本的实现,但是并不支持换行,换行需要知道上一行绘制的文本长度和换行后的文本起始位置,实现起来并不容易。

  2. 要实现多行富文本,那么关键的方法是计算一行字符串在给定以下的3个重要的参数计算当前行需要绘制的字符个数,之后把剩余的字符串交给下一行绘制。方法calcOneLineFitStringLength就是只存储给定行剩余宽度绘制适合个数的字符串,把剩余的字符递归传递给calcOneLineFitStringLength本身计算并存储。

    1. 起始横坐标x

    2. 纵坐标y</

http://www.lryc.cn/news/469810.html

相关文章:

  • Ubuntu如何创建一个子用户并赋与管理员权限
  • 【Linux | IO多路复用】epoll的底层原理详解
  • npm run serve 提示异常Cannot read property ‘upgrade‘ of undefined
  • Muggle OCR 是一个高效的本地OCR(光学字符识别)模块
  • 【SpringBoot】万字源码解析——启动流程
  • Nginx 配置初步 下
  • 可视化ETL平台-Kettle的安装及简单使用
  • java8 动态加载jar包至系统的classpath
  • C++二级题 计算好数:1数大于0数(二进制的位运算)
  • 数字孪生城市:智慧城市的未来蓝图
  • Java篇图书管理系统
  • BUUCTF之web篇
  • 010——二叉树(2)线索化
  • 鸿蒙拍照小助手02
  • lua while循环
  • JAVA篇之类和对象
  • IO流详解_CoderLix
  • 241023-RHEL非管理员安装Docker并开放指定宿主机端口部署Gitlab
  • python ubuntu安装加速
  • 100种算法【Python版】第12篇——快速幂算法
  • Java多线程详解②(全程干货!!!)Thread Runnable
  • 机器学习——图神经网络
  • 一、在cubemx下RTC配置调试实例测试
  • 【Nas】X-DOC:Mac mini Docker部署中国特供版Jellyfin
  • 合合信息:生成式Al时代的内容安全与系统构建加速,开启智能文档的全新潜能
  • 京东双十一高并发场景下的分布式锁性能优化
  • 华为ICT题库-AI 人工智能部分
  • React Native 修改安卓应用图片和名称
  • 普推知产:商标初审已下,商标申请通过如何高些!
  • HICP--2