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)

相关推荐

  • 满足解决配置DG Broker时报错Error: ORA-16698问题

    技术满足解决配置DG Broker时报错Error: ORA-16698问题这篇文章主要介绍“满足解决配置DG Broker时报错Error: ORA-16698问题”,在日常操作中,相信很多人在满足解决配置DG Bro

    攻略 2021年11月10日
  • 水尤清冽,小石潭记原文一句一句翻译

    技术水尤清冽,小石潭记原文一句一句翻译《小石潭记》一、全文翻译水尤清冽。
    原文:从小丘西行百二十步,隔篁竹闻水声,如鸣佩环,心乐之。
    译文:从小丘向西行走一百二十步,隔着竹林,听见水声,好象挂在身上的玉佩、玉环相互碰撞发

    生活 2021年10月22日
  • 关于Tomcat的面试题有哪些

    技术关于Tomcat的面试题有哪些本篇内容主要讲解“关于Tomcat的面试题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“关于Tomcat的面试题有哪些”吧!一、什么是

    攻略 2021年11月5日
  • q开头的姓氏,百家姓里读音是‘qu’的有哪些

    技术q开头的姓氏,百家姓里读音是‘qu’的有哪些百家姓里读音是‘qu’的有q开头的姓氏:瞿 曲 屈 屈 [Qū]〈名〉 古邑名 。春秋晋地。在今山西省吉县北,盛产良马 姓。春秋楚王族三姓之一。曲[ qū ]姓 拼 音:[

    生活 2021年10月23日
  • R语言数据可视化ggplot绘制置信区间以及分组绘图技巧是什么

    技术R语言数据可视化ggplot绘制置信区间以及分组绘图技巧是什么本篇文章为大家展示了R语言数据可视化ggplot绘制置信区间以及分组绘图技巧是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希

    攻略 2021年11月5日
  • 如何进行asmcmd的分析

    技术如何进行asmcmd的分析如何进行asmcmd的分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在ASM实例中,所有的存储于ASM磁盘组中的文件对于操

    攻略 2021年11月30日