2023-04-18 14:14:46 +08:00
|
|
|
|
/**
|
|
|
|
|
* @author : 陈鲁勇
|
|
|
|
|
* @date : 2017年04月
|
|
|
|
|
* @version: 1.0
|
|
|
|
|
* @note : 根据 Apache 许可证 2.0 版(以下简称“许可证”)授权;
|
|
|
|
|
* 除非遵守本许可,否则您不能使用这个文件。
|
|
|
|
|
* @remarks: 您可以获得该许可的副本:
|
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
* 除非适用法律需要或者书面同意,按本许可分发的软件
|
|
|
|
|
* 要按“原样”分发,没有任何形式的,明确或隐含的担保条款。
|
|
|
|
|
* 参见按照本许可控制许可权限及限制的特定语言的许可证。
|
|
|
|
|
*
|
|
|
|
|
* 你可以获得该代码的最新版本:
|
|
|
|
|
*
|
|
|
|
|
* https://git.oschina.net/Mr_ChenLuYong/screenshot
|
|
|
|
|
*
|
|
|
|
|
* 开源社区的所有人都期待与你的共同维护。
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
* 如果你对这些代码还有不理解的地方可以通过最新的文章进行学习:
|
|
|
|
|
*
|
|
|
|
|
* 博客地址:http://blog.csdn.net/csnd_ayo
|
|
|
|
|
*
|
|
|
|
|
* 文章地址:http://blog.csdn.net/csnd_ayo/article/details/70197915
|
|
|
|
|
*
|
|
|
|
|
* 期待你提交Bug,欢迎Issues。
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef OEAMPLIFIER_H
|
|
|
|
|
#define OEAMPLIFIER_H
|
|
|
|
|
#include <memory>
|
|
|
|
|
#include <QWidget>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @class : OEAmplifier
|
|
|
|
|
* @brief : 放大取色器
|
|
|
|
|
* @note : 关于鼠标位置局部放大的操作以及色卡取值的操作
|
|
|
|
|
*/
|
|
|
|
|
class OEAmplifier : public QWidget
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
public:
|
|
|
|
|
explicit OEAmplifier(std::shared_ptr<QPixmap> originPainting, QWidget *parent = 0);
|
|
|
|
|
|
|
|
|
|
signals:
|
|
|
|
|
|
|
|
|
|
public slots:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief : 大小修改
|
|
|
|
|
* @param : w 宽度
|
|
|
|
|
* @param : h 高度
|
|
|
|
|
* @date : 2017年4月29日
|
|
|
|
|
*/
|
|
|
|
|
void onSizeChange(int w, int h);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief : 大小修改
|
|
|
|
|
* @param : w 宽度
|
|
|
|
|
* @param : h 高度
|
|
|
|
|
* @date : 2017年4月29日
|
|
|
|
|
*/
|
|
|
|
|
void onPostionChange(int x, int y);
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief : 窗口自绘事件
|
|
|
|
|
* @date : 2017年4月29日
|
|
|
|
|
*/
|
|
|
|
|
virtual void paintEvent(QPaintEvent *);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
/// 外部组件的大小信息
|
|
|
|
|
QSize screenSize_;
|
|
|
|
|
/// 鼠标的位置
|
|
|
|
|
QPoint cursorPoint_;
|
|
|
|
|
/// 取色放大器的边长
|
|
|
|
|
int sideLength_;
|
|
|
|
|
/// 放大区的高度
|
|
|
|
|
int imageHeight_;
|
|
|
|
|
/// 屏幕原画
|
|
|
|
|
std::shared_ptr<QPixmap> originPainting_;
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif /// OEAMPLIFIER_H
|