#include "workspace.h"
#include <QPainter>
+#include <QKeyEvent>
+#include <QTransform>
+#include <QDebug>
+
ImageLoader::ImageLoader()
{
url=QString();
QImage image(url);
emit ready(image);
}
+void Workspace::testEffect()
+{
+ QTransform sharpness(0,-1,0,-1,5,-1,0,-1,0);
+ mImage=mImage.transformed(sharpness);
+}
Workspace::Workspace(QWidget *parent) :
QWidget(parent)
void Workspace::onImageLoaded(QImage &image)
{
mImage=image.copy();
+ testEffect();
update();
+
+ setMaximumSize(mImage.size());
+ setMinimumSize(mImage.size());
+
+
+}
+void Workspace::keyPressEvent(QKeyEvent *e)
+{
+ qDebug()<<e->key();
+ if(e->key()==Qt::Key_Z)
+ zoomIn();
+ else if(e->key()==Qt::Key_X)
+ zoomOut();
}
void Workspace::zoomIn()
{
- mImage=mImage.scaledToHeight(mImage.height()*1.5);
- mImage=mImage.scaledToWidth(mImage.width()*1.5);
+ mImage=mImage.scaledToHeight(mImage.height()*1.5).copy(rect());
+ mImage=mImage.scaledToWidth(mImage.width()*1.5).copy(rect());
update();
}
void Workspace::zoomOut()
void Workspace::paintEvent(QPaintEvent *p)
{
QPainter painter(this);
- painter.drawImage(mImage.rect(),mImage);
+
+ int resultX=(rect().width()-mImage.width())/2;
+ int resultY=(rect().height()-mImage.height())/2;
+ painter.drawImage(QPoint(resultX,resultY),mImage);
}