相关文章推荐
想发财的大脸猫
·
Application ...
·
5 月前
·
迷茫的红豆
·
Python:conda install ...
·
11 月前
·
淡定的野马
·
Excel VBA ...
·
11 月前
·
一身肌肉的小马驹
·
(C++ 标准库) 的 span 类 | ...
·
1 年前
·
还单身的打火机
·
QT软件开发: ...
·
1 年前
·
Code
›
Qt绘图(线条、椭圆、矩形、图片滚动)-阿里云开发者社区
科技新闻
云计算
社区功能
painter
https://developer.aliyun.com/article/1548273
善良的番茄
2 月前
产品
解决方案
文档与社区
权益中心
定价
云市场
合作伙伴
支持与服务
了解阿里云
AI 助理
备案
控制台
开发者社区
首页
探索云世界
探索云世界
云上快速入门,热门云上应用快速查找
了解更多
问产品
动手实践
官方博客
考认证
TIANCHI大赛
活动广场
活动广场
丰富的线上&线下活动,深入探索云世界
任务中心
做任务,得社区积分和周边
高校计划
让每位学生受益于普惠算力
训练营
资深技术专家手把手带教
话题
畅聊无限,分享你的技术见解
开发者评测
最真实的开发者用云体验
乘风者计划
让创作激发创新
阿里云MVP
遇见技术追梦人
直播
技术交流,直击现场
下载
下载
海量开发者使用工具、手册,免费下载
镜像站
极速、全面、稳定、安全的开源镜像
技术资料
开发手册、白皮书、案例集等实战精华
插件
为开发者定制的Chrome浏览器插件
探索云世界
新手上云
云上应用构建
云上数据管理
云上探索人工智能
云计算
弹性计算
无影
存储
网络
倚天
云原生
容器
serverless
中间件
微服务
可观测
消息队列
数据库
关系型数据库
NoSQL数据库
数据仓库
数据管理工具
PolarDB开源
向量数据库
热门
百炼大模型
Modelscope模型即服务
弹性计算
云原生
数据库
云效DevOps
龙蜥操作系统
平头哥
钉钉开放平台
物联网
大数据
大数据计算
实时数仓Hologres
实时计算Flink
E-MapReduce
DataWorks
Elasticsearch
机器学习平台PAI
智能搜索推荐
数据可视化DataV
人工智能
机器学习平台PAI
视觉智能开放平台
智能语音交互
自然语言处理
多模态模型
pythonsdk
通用模型
开发与运维
云效DevOps
钉钉宜搭
支持服务
镜像站
码上公益
本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《
阿里云开发者社区用户服务协议
》和 《
阿里云开发者社区知识产权保护指引
》。如果您发现本社区中有涉嫌抄袭的内容,填写
侵权投诉表单
进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
QPen pen2(QColor(125,125,125));
painter.setPen(pen2);
painter.drawRect(QRect(50,50,50,50));
//画文字
painter.drawText(QRect(10,200,150,150),"Hello,world");
Widget::~Widget()
delete ui;
void Widget::paintEvent(QPaintEvent *){
// //实例化画家对象 this指定的是绘图设备
// QPainter painter(this);
// //设置画笔
// QPen pen(QColor(255,0,0));
// //设置画笔宽度
// pen.setWidth(3);
// //设置画笔风格
// pen.setStyle(Qt::DotLine);
// //让画家 使用这个笔
// painter.setPen(pen);
// //设置画刷
// QBrush brush(Qt::cyan);
// //设置画刷风格
// brush.setStyle(Qt::Dense1Pattern);
// //让画家使用画刷
// painter.setBrush(brush);
// //画线
// painter.drawLine(QPoint(0,0),QPoint(100,100));
// //画椭圆
// painter.drawEllipse(QPoint(100,100),50,50);
// //画矩形
// QPen pen2(QColor(125,125,125));
// painter.setPen(pen2);
// painter.drawRect(QRect(50,50,50,50));
// //画文字
// painter.drawText(QRect(10,200,150,150),"Hello,world");
QPainter painter(this);
painter.drawEllipse(QPoint(100,50),50,50);
//设置 抗锯齿能力 效率低下
painter.setRenderHint(QPainter::Antialiasing);
painter.drawEllipse(QPoint(200,50),50,50);
//画矩形
painter.drawRect(20,120,50,50);
//移动画家
painter.translate(100,0);
//保存画家状态
painter.save();
painter.drawRect(20,120,50,50);
painter.translate(100,0);
//还原画家保存状态
painter.restore();
painter.drawRect(20,120,50,50);
Widget::~Widget()
delete ui;
connect(qtimer,&QTimer::timeout,ui->pushButton,&QPushButton::click);
//点击移动按钮,移动图片
connect(ui->pushButton,&QPushButton::clicked,[=](){
pox+=20;
//如果要手动调用绘图时间 用update更新
update();
void Widget::paintEvent(QPaintEvent *){
// //实例化画家对象 this指定的是绘图设备
// QPainter painter(this);
// //设置画笔
// QPen pen(QColor(255,0,0));
// //设置画笔宽度
// pen.setWidth(3);
// //设置画笔风格
// pen.setStyle(Qt::DotLine);
// //让画家 使用这个笔
// painter.setPen(pen);
// //设置画刷
// QBrush brush(Qt::cyan);
// //设置画刷风格
// brush.setStyle(Qt::Dense1Pattern);
// //让画家使用画刷
// painter.setBrush(brush);
// //画线
// painter.drawLine(QPoint(0,0),QPoint(100,100));
// //画椭圆
// painter.drawEllipse(QPoint(100,100),50,50);
// //画矩形
// QPen pen2(QColor(125,125,125));
// painter.setPen(pen2);
// painter.drawRect(QRect(50,50,50,50));
// //画文字
// painter.drawText(QRect(10,200,150,150),"Hello,world");
// QPainter painter(this);
// painter.drawEllipse(QPoint(100,50),50,50);
// //设置 抗锯齿能力 效率低下
// painter.setRenderHint(QPainter::Antialiasing);
// painter.drawEllipse(QPoint(200,50),50,50);
// //画矩形
// painter.drawRect(20,120,50,50);
// //移动画家
// painter.translate(100,0);
// //保存画家状态
// painter.save();
// painter.drawRect(20,120,50,50);
// painter.translate(100,0);
// //还原画家保存状态
// painter.restore();
// painter.drawRect(20,120,50,50);
QPainter painter(this);
QPixmap qpixmap= QPixmap(":/icon/demo01.png");
if(pox>(this->width()-qpixmap.width())){
pox=0;
painter.drawPixmap(pox,0,qpixmap);
Widget::~Widget()
delete ui;
QPainter painter(&pix);
painter.setPen(QPen(Qt::green));
painter.drawEllipse(QPoint(150,150),100,100);
pix.save("E:\\pix.png");
Widget::~Widget()
delete ui;
// QPainter painter(&pix);
// painter.setPen(QPen(Qt::green));
// painter.drawEllipse(QPoint(150,150),100,100);
// //保存
// pix.save("E:\\pix.png");
QImage image(300,300,QImage::Format_ARGB32);
//填充颜色
image.fill(Qt::white);
//申明画家
QPainter painter(&image);
painter.setPen(QPen(Qt::blue));
painter.drawEllipse(QPoint(150,150),100,100);
image.save("E:\\image.png");
Widget::~Widget()
delete ui;
// QPainter painter(&pix);
// painter.setPen(QPen(Qt::green));
// painter.drawEllipse(QPoint(150,150),100,100);
// //保存
// pix.save("E:\\pix.png");
QImage image(300,300,QImage::Format_ARGB32);
//填充颜色
image.fill(Qt::white);
//申明画家
QPainter painter(&image);
painter.setPen(QPen(Qt::blue));
painter.drawEllipse(QPoint(150,150),100,100);
image.save("E:\\image.png");
void Widget::paintEvent(QPaintEvent * ){
QPainter painter(this);
//利用QImage 对像素进行修改
QImage img;
img.load(":/icon/demo01.png");
//修改像素点
for(int i=50;i<100;i++){
for(int j=50;j<100;j++){
QRgb value=qRgb(255,0,0);
img.setPixel(i,j,value);
painter.drawImage(0,0,img);
Widget::~Widget()
delete ui;
// QPainter painter(&pix);
// painter.setPen(QPen(Qt::green));
// painter.drawEllipse(QPoint(150,150),100,100);
// //保存
// pix.save("E:\\pix.png");
// QImage image(300,300,QImage::Format_ARGB32);
// //填充颜色
// image.fill(Qt::white);
// //申明画家
// QPainter painter(&image);
// painter.setPen(QPen(Qt::blue));
// painter.drawEllipse(QPoint(150,150),100,100);
// //保存
// image.save("E:\\image.png");
//QPicture 绘图设备 可以记录和重现绘图指令
QPicture pic;
QPainter painter;
painter.begin(&pic);//开始画画
painter.setPen(QPen(Qt::cyan));
painter.drawEllipse(QPoint(150,150),100,100);
painter.end();//结束画画
//保存到磁盘
pic.save("E:\\pic.cc");
void Widget::paintEvent(QPaintEvent * ){
// QPainter painter(this);
// //利用QImage 对像素进行修改
// QImage img;
// img.load(":/icon/demo01.png");
// //修改像素点
// for(int i=50;i<100;i++){
// for(int j=50;j<100;j++){
// QRgb value=qRgb(255,0,0);
// img.setPixel(i,j,value);
// }
// }
// painter.drawImage(0,0,img);
QPainter painter(this);
//重现QPicture的绘图指令
QPicture pic;
pic.load("E:\\pic.cc");
painter.drawPicture(0,0,pic);
Widget::~Widget()
delete ui;
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
DS小龙哥
推荐文章
想发财的大脸猫
·
Application publishing - .NET | Microsoft Learn
5 月前
迷茫的红豆
·
Python:conda install 和pip install的区别 - orion-orion - 博客园
11 月前
淡定的野马
·
Excel VBA 8.46数组不适合模糊查找 区间查找也不难|vba|代码|python_网易订阅
11 月前
一身肌肉的小马驹
·
(C++ 标准库) 的 span 类 | Microsoft Learn
1 年前
还单身的打火机
·
QT软件开发: QProcess启动进程完成交互并获取输出-腾讯云开发者社区-腾讯云
1 年前