本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。 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小龙哥