00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00024
00025 #ifndef QVIMAGERESIZERWORKER_H
00026 #define QVIMAGERESIZERWORKER_H
00027
00028 #include <QVImage>
00029 #include <QVWorker>
00030
00032
00033 #ifndef DOXYGEN_IGNORE_THIS
00034 template <typename T, int C> class QVImageResizerWorker: public QVWorker
00035 {
00036 public:
00037 QVImageResizerWorker(QString name): QVWorker(name)
00038 {
00039
00040 addProperty< QVImage<T,C> >("Input image", inputFlag|outputFlag);
00041 addProperty< double >("Scale", inputFlag, 1.0, "Factor to scale image size", 0.1, 10.0);
00042
00043
00044 addProperty< QVImage<T,C> >("Output image", outputFlag);
00045 }
00046
00047 void iterate()
00048 {
00049
00050 const QVImage<T,C> image = getPropertyValue< QVImage<T,C> >("Input image");
00051 const double scale = getPropertyValue< double >("Scale");
00052 const int rows = image.getRows(), cols = image.getCols();
00053
00054 QVImage<T,C> output(cols*scale, rows*scale);
00055
00056
00057 Resize(image, output);
00058
00059
00060 setPropertyValue< QVImage<T,C> >("Output image", output);
00061 }
00062 };
00063 #endif
00064 #endif