Qt 实现涂鸦板二:实现放大功能

技术Qt 实现涂鸦板二:实现放大功能 Qt 实现涂鸦板二:实现放大功能在一的基础上改造:
.h 文件#pragma once#include QtWidgets/QWidget
#include "ui

夸脱实现涂鸦板二:实现放大功能

在一的基础上改造:h文件

#pragma一次

#包含QtWidgets/QWidget

#包含' ui_xuexi.h '

#包含" QMouseEvent "

#包含" QKeyEvent "

#包括“QPainter”

#包括qbutton '

习雪:级公共QWidget

{

Q_OBJECT

公众号:

习雪(QWidget * parent=Q _ NULLPTR);

void MousePresent(QMouseEvent * e);//按下

void MousemoveEvent(QMouseEvent * e);//移动

void mouseReleaseRvent(QMouseEvent * e);//释放

void paint事件(qpaint事件*);

公共槽3360

void zoomIn();//放大

私人:

Ui:xuexiClass ui

QPixmap pix

QPoint lastPoint

QPoint endPoint

整数标度;//放大倍数

q按钮*按钮;

};卡片打印处理机(卡片打印处理器的缩写)文件

#包括习雪。h

学习机:习雪(QWidget *家长版)

: QWidget(父)

{

ui。setupui(这个);

调整大小(600,500);

pix=QPixmap(200,200);

pix。填充(Qt :白色);

比例尺=1;

按钮=新的qbutton(' zoomIn ',this);

按钮移动(500,450);

连接(按钮、信号(点击())、此、插槽(zoomIn()));

}

void徐希:3360 mousepresevent(QMouseEvent * e)

{

if(e-button()==Qt :左按钮)

{

最后一点=e-pos();

}

}

void徐希:3360 mousemoveevent(qmouseeevent * e)

{

if(e-button()==Qt :左按钮)

{

endPoint=e-pos();

update();

}

}

void徐希:3360 moussereleaservent(Qmouseevent * e)

{

if(e-button()==Qt :左按钮)

{

endPoint=e-pos();

update();

}

}

作废徐希:油漆事件(Qpaint事件*)

{

//第一种:效果差点

/* Qpainter PP(pix);

pp.drawLine(lastPoint/scale,EndPoint/scale);

lastPoint=endPoint

QPainter画师(本);

画家。比例尺(比例尺,比例尺);

画家。绘制位图(0,0,pix);*/

//第二种:效果更好

如果(规模!=1)

{

QPixmap copyPix(pix。size()* scale);

QPainter pter(复制pix);

比例尺(比例尺,比例尺);

彼得。绘制位图(0,0,pix);

pix=copyPix

比例尺=1;

}

qpenger PP(pix);

pp.scale(标度,标度);

pp.drawLine(lastPoint/scale,EndPoint/scale);

lastPoint=endPoint

QPainter画师(本);

画家。绘制位图(0,0,pix);

}

void xuexi:zoomIn()

{

比例尺*=2;

update();

}

这里的放大,写了两种实现方法:

方法一:将涂鸦后的图片放大,这样虽然可以实现,但是放大后,像素个数就表少了,画质就变差了,效果不是很好。

方法二:是将画布放大,这样像素个数不会变少,画质就高些,效果更好

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/70028.html

(0)

相关推荐

  • 怎么破解手机图案锁,手机图案解锁怎么强制解锁

    技术怎么破解手机图案锁,手机图案解锁怎么强制解锁解锁方法怎么破解手机图案锁:方案一:双清就可以。完全关机,卸下电池再装上。按住音量下+电源键开机,进入recovery 界面,找到wipe data/factory res

    生活 2021年10月20日
  • apacheflink多个漏洞分析(apacheflink目录遍历漏洞修复)

    技术Apache Flink 目录遍历漏洞是怎样的本篇文章给大家分享的是有关Apache Flink 目录遍历漏洞是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一

    攻略 2021年12月21日
  • 如何进行PyQuery理论分析

    技术如何进行PyQuery理论分析这期内容当中小编将会给大家带来有关如何进行PyQuery理论分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 hello,各位小伙伴,大家好,

    攻略 2021年12月4日
  • hibernate如何实现逆向工程

    技术hibernate如何实现逆向工程这篇文章将为大家详细讲解有关hibernate如何实现逆向工程,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。导入hibernate 插件,这个自己

    攻略 2021年12月8日
  • 如何实现mvvmlight与icommand类

    技术如何实现mvvmlight与icommand类小编给大家分享一下如何实现mvvmlight与icommand类,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们

    攻略 2021年11月23日
  • pyquery如何获取你想要的元素或文本信息

    技术pyquery如何获取你想要的元素或文本信息这篇文章给大家介绍pyquery 如何获取你想要的元素或文本信息,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 hello,各位小伙伴,大家好,

    攻略 2021年12月4日