在实际项目中,我们往往想让指定的文字连接成一个整体,不让用户对显示的文字进行拆分复制等操作,只进行显示,也就是说,我们想让部分字符串以原子的形式显示给用户,例如,在即时通讯软件中,我们在群里@一个人是,当补全成功后,即为一个图片显示在编辑框中,如下图:

我们只能对@的这个人名整体进行操作,这就用到了接下来讲的东西:将字符串写入图片中显示并将图片保存到本地,其主要代码如下:

//===================================================================================//保存路径(包括文件名)QString tempImagePath="/Users/Tmp/test.png";//图片上的字符串,例如 HELLOQString imageText="HELLO";QFont font;//设置显示字体的大小font.setPixelSize(13);QFontMetrics fm(font);int charWidth = fm.width(imageText);charWidth = fm.boundingRect(imageText).width();//指定图片大小为字体的大小QSize size(charWidth+8, 15);//以ARGB32格式构造一个QImageQImage image(size, QImage::Format_ARGB32);//填充图片背景,120/250为透明度image.fill(qRgba(255, 255, 255, 0));//为这个QImage构造一个QPainterQPainter painter(&image);//设置画刷的组合模式CompositionMode_SourceOut这个模式为目标图像在上。//改变组合模式和上面的填充方式可以画出透明的图片。painter.setCompositionMode(QPainter::CompositionMode_DestinationOver);//改变画笔和字体QPen pen = painter.pen();pen.setColor( QColor(0, 141, 239));painter.setPen(pen);painter.setFont(font);//将Hello写在Image的中心painter.drawText(image.rect(), Qt::AlignCenter, imageText);image.save(tempImagePath, "PNG", 100);
//===================================================================================

其效果如下图:

截图放入QQ中效果如下:

代码所指定的意思已经作为注释嵌入到代码中了,只要将以上代码进行封装,就可以实现将指定字符串写入图片中展示给用户了。

将指定文字写入QImage中并保存成图片相关推荐

  1. 图片在canvas中显示,给canvas添加文字,文字描边,将canvas保存成图片下载到本地

    Canvas简介 HTML5新增标签 Canvas API(画布)是在HTML5中新增的标签用于在网页实时生成图像,并且可以操作图像内容,基本上它是一个可以用JavaScript操作的位图(bitma ...

  2. BitmapUtil【缩放bitmap以及将bitmap保存成图片到SD卡中】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 用于缩放bitmap以及将bitmap保存成图片到SD卡中 效果图 代码分析 bitmapZoomByHeight(Bitmap s ...

  3. html保存当前页面为图片,将html页面保存成图片,图片写入pdf的实现方法(推荐)

    需求是一个导出pdf的功能,多方奔走终于实现了,走了不少弯路,而且怀疑现在这个方法仍是弯的. 有个jsPDF 插件可以在前端直接生成pdf,很简便,但不支持IE. 前端: 首先引入  html2can ...

  4. 读取json格式的图片、文字并保存成图片

    读取json格式的图片.文字并保存成图片 说明 从数据库中获取到图片.中文.英文信息后,将其合成json文件,图片格式为base64格式,需要将其转成二进制形式,然后将其保存成图片,将中文.英文信息保 ...

  5. php 文字图片怎么保存为图片,php技术实现加载字体并保存成图片

    下面通过一段代码给大家详解介绍下php技术实现加载字体并保存成图片. // Set the content-type header("Content-type: image/png" ...

  6. java 视频抽帧_opencv3.2.0实现视频抽帧,并保存成图片

    .实现指定帧数的抽取.和全部帧数的抽取,并保存到指定目录. 在QT新建一个控制台程序,程序源码如下:(程序实现每十帧获取一次帧) #include #include #include #include ...

  7. 生成二维码并将Bitmap保存成图片

    本来项目集成的Zxing Bitmap qrCode = EncodingHandler.createQRCode(shareUrl, DimenUtils.dp2px(105)); 虽然这个类生成的 ...

  8. JAVA PPT 柱状图_Java 将 PPT 形状(表格、文本框、心形、图表等)保存成图片

    MS PowerPoint中的表格.文本框.心形.图表.图片等均可以称为形状,将这些形状保存成图片,便可分类储存,方便日后查找,再利用. 本文将介绍如何使用 Spire.Presentation fo ...

  9. 使用 html2canvas 将页面保存成图片

    有时我们需要实现在浏览器端直接对整个或部分页面进行截屏,比如移动端常见的"长按网页保存为图片"功能.这个借助 html2canvas 这个第三方 js 库即可实现,下面通过样例演示 ...

最新文章

  1. pythonapriori算法特点_Python --深入浅出Apriori关联分析算法(一)
  2. linux检测网卡步骤,linux网卡检测命令
  3. sublime Package Control 设备
  4. java 报500该怎么解决_关于servlet500错误 应该怎么解决
  5. Tomcat Post请求参数长度限制
  6. Alameda:最初同意对Reef投资8000万美元,但支付2000万美元后Reef拒绝了随后的交易
  7. java实例摘要(二)
  8. linux rm 文件找回_Linux 中删除目录的多种方法
  9. python shell 方向键不可用
  10. CTF-misc练习(https://buuoj.cn)之第二页
  11. C# 复制Word(复制全部内容、部分内容、页眉页脚)
  12. 人工智能——机器学习与深度学习思维导图
  13. 2019.10.26日常总结兼一码学成普及模拟4比赛选解
  14. SharePoint 2010管理中心创建网站集
  15. 东北育才 d1t1 优雅的序列
  16. 个性化推荐的工业级实现
  17. 三木运算符return错误:
  18. 2021年低压电工模拟试题及低压电工作业考试题库
  19. 用python在树莓派上播放MP3/MP4
  20. Glide硬盘缓存逻辑

热门文章

  1. 联发科MTK手机线刷错误代码信息解译以及解决方法大全
  2. 微软管理控制台(MMC)
  3. 大学计算机专业个人介绍 英语翻译,哪位高手帮我翻译一下个人简历个人简介br/作为一名计算机专业 爱问知识人...
  4. 微信小程相对图片路径_微信小程序----相对路径图片不显示
  5. 最新在线换钱系统带后台版爱K支付提供
  6. Au 音频效果参考:生成
  7. C语言分支语句if else
  8. css实现网页背景图片位置不随滚动条改变
  9. 【原型化开发】原型设计工具——墨刀
  10. 使用Hbuilder打包前端网站为WebApp(Android,ios应用)