7 ImageLoader::ImageLoader()
11 void ImageLoader::fetchImage(QString path)
16 void ImageLoader::run()
21 void Workspace::testEffect()
27 Workspace::Workspace(QWidget *parent) :
30 qRegisterMetaType<QImage>("QImage &" );
31 mImageLoader=new ImageLoader();
32 connect(mImageLoader,SIGNAL(ready(QImage&)),this,SLOT(onImageLoaded(QImage&)));
34 void Workspace::loadImage(QString fileName)
36 mImageLoader->fetchImage(fileName);
38 void Workspace::onImageLoaded(QImage &image)
44 setMaximumSize(mImage.size());
45 setMinimumSize(mImage.size());
49 void Workspace::keyPressEvent(QKeyEvent *e)
52 if(e->key()==Qt::Key_Z)
54 else if(e->key()==Qt::Key_X)
58 void Workspace::zoomIn()
60 mImage=mImage.scaledToHeight(mImage.height()*1.5).copy(rect());
61 mImage=mImage.scaledToWidth(mImage.width()*1.5).copy(rect());
64 void Workspace::zoomOut()
66 mImage=mImage.scaledToHeight(mImage.height()*0.5);
67 mImage=mImage.scaledToWidth(mImage.width()*0.5);
71 void Workspace::paintEvent(QPaintEvent *p)
73 QPainter painter(this);
75 int resultX=(rect().width()-mImage.width())/2;
76 int resultY=(rect().height()-mImage.height())/2;
77 painter.drawImage(QPoint(resultX,resultY),mImage);