将指定文字写入QImage中并保存成图片
在实际项目中,我们往往想让指定的文字连接成一个整体,不让用户对显示的文字进行拆分复制等操作,只进行显示,也就是说,我们想让部分字符串以原子的形式显示给用户,例如,在即时通讯软件中,我们在群里@一个人是,当补全成功后,即为一个图片显示在编辑框中,如下图:
我们只能对@的这个人名整体进行操作,这就用到了接下来讲的东西:将字符串写入图片中显示并将图片保存到本地,其主要代码如下:
//===================================================================================//保存路径(包括文件名)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中并保存成图片相关推荐
- 图片在canvas中显示,给canvas添加文字,文字描边,将canvas保存成图片下载到本地
Canvas简介 HTML5新增标签 Canvas API(画布)是在HTML5中新增的标签用于在网页实时生成图像,并且可以操作图像内容,基本上它是一个可以用JavaScript操作的位图(bitma ...
- BitmapUtil【缩放bitmap以及将bitmap保存成图片到SD卡中】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 用于缩放bitmap以及将bitmap保存成图片到SD卡中 效果图 代码分析 bitmapZoomByHeight(Bitmap s ...
- html保存当前页面为图片,将html页面保存成图片,图片写入pdf的实现方法(推荐)
需求是一个导出pdf的功能,多方奔走终于实现了,走了不少弯路,而且怀疑现在这个方法仍是弯的. 有个jsPDF 插件可以在前端直接生成pdf,很简便,但不支持IE. 前端: 首先引入 html2can ...
- 读取json格式的图片、文字并保存成图片
读取json格式的图片.文字并保存成图片 说明 从数据库中获取到图片.中文.英文信息后,将其合成json文件,图片格式为base64格式,需要将其转成二进制形式,然后将其保存成图片,将中文.英文信息保 ...
- php 文字图片怎么保存为图片,php技术实现加载字体并保存成图片
下面通过一段代码给大家详解介绍下php技术实现加载字体并保存成图片. // Set the content-type header("Content-type: image/png" ...
- java 视频抽帧_opencv3.2.0实现视频抽帧,并保存成图片
.实现指定帧数的抽取.和全部帧数的抽取,并保存到指定目录. 在QT新建一个控制台程序,程序源码如下:(程序实现每十帧获取一次帧) #include #include #include #include ...
- 生成二维码并将Bitmap保存成图片
本来项目集成的Zxing Bitmap qrCode = EncodingHandler.createQRCode(shareUrl, DimenUtils.dp2px(105)); 虽然这个类生成的 ...
- JAVA PPT 柱状图_Java 将 PPT 形状(表格、文本框、心形、图表等)保存成图片
MS PowerPoint中的表格.文本框.心形.图表.图片等均可以称为形状,将这些形状保存成图片,便可分类储存,方便日后查找,再利用. 本文将介绍如何使用 Spire.Presentation fo ...
- 使用 html2canvas 将页面保存成图片
有时我们需要实现在浏览器端直接对整个或部分页面进行截屏,比如移动端常见的"长按网页保存为图片"功能.这个借助 html2canvas 这个第三方 js 库即可实现,下面通过样例演示 ...
最新文章
- pythonapriori算法特点_Python --深入浅出Apriori关联分析算法(一)
- linux检测网卡步骤,linux网卡检测命令
- sublime Package Control 设备
- java 报500该怎么解决_关于servlet500错误 应该怎么解决
- Tomcat Post请求参数长度限制
- Alameda:最初同意对Reef投资8000万美元,但支付2000万美元后Reef拒绝了随后的交易
- java实例摘要(二)
- linux rm 文件找回_Linux 中删除目录的多种方法
- python shell 方向键不可用
- CTF-misc练习(https://buuoj.cn)之第二页
- C# 复制Word(复制全部内容、部分内容、页眉页脚)
- 人工智能——机器学习与深度学习思维导图
- 2019.10.26日常总结兼一码学成普及模拟4比赛选解
- SharePoint 2010管理中心创建网站集
- 东北育才 d1t1 优雅的序列
- 个性化推荐的工业级实现
- 三木运算符return错误:
- 2021年低压电工模拟试题及低压电工作业考试题库
- 用python在树莓派上播放MP3/MP4
- Glide硬盘缓存逻辑
热门文章
- 联发科MTK手机线刷错误代码信息解译以及解决方法大全
- 微软管理控制台(MMC)
- 大学计算机专业个人介绍 英语翻译,哪位高手帮我翻译一下个人简历个人简介br/作为一名计算机专业 爱问知识人...
- 微信小程相对图片路径_微信小程序----相对路径图片不显示
- 最新在线换钱系统带后台版爱K支付提供
- Au 音频效果参考:生成
- C语言分支语句if else
- css实现网页背景图片位置不随滚动条改变
- 【原型化开发】原型设计工具——墨刀
- 使用Hbuilder打包前端网站为WebApp(Android,ios应用)