7 ImageLoader::ImageLoader()
11 void ImageLoader::fetchImage(QString path)
16 void ImageLoader::run()
23 Workspace::Workspace(QWidget *parent) :
26 qRegisterMetaType<QImage>("QImage &" );
27 mImageLoader=new ImageLoader();
28 connect(mImageLoader,SIGNAL(ready(QImage&)),this,SLOT(onImageLoaded(QImage&)));
30 void Workspace::loadImage(QString fileName)
32 mImageLoader->fetchImage(fileName);
34 void Workspace::onImageLoaded(QImage &image)
38 setMaximumSize(mImage.size());
39 setMinimumSize(mImage.size());
43 void Workspace::keyPressEvent(QKeyEvent *e)
46 if(e->key()==Qt::Key_Z)
48 else if(e->key()==Qt::Key_X)
52 void Workspace::zoomIn()
54 mImage=mImage.scaledToHeight(mImage.height()*1.5).copy(rect());
55 mImage=mImage.scaledToWidth(mImage.width()*1.5).copy(rect());
58 void Workspace::zoomOut()
60 mImage=mImage.scaledToHeight(mImage.height()*0.5);
61 mImage=mImage.scaledToWidth(mImage.width()*0.5);
65 void Workspace::paintEvent(QPaintEvent *p)
67 QPainter painter(this);
69 int resultX=(rect().width()-mImage.width())/2;
70 int resultY=(rect().height()-mImage.height())/2;
71 painter.drawImage(QPoint(resultX,resultY),mImage);