Make a branch to make krunner Good Enough For Aaron™.
[kdebase/uwolfer.git] / runtime / pics / ksvgtopng.cpp
blob307a7993664d00f855eab54a4f7c408edea6b84b
1 #include <QtGui/QImage>
2 #include <QtCore/QString>
4 #include <ksvgrenderer.h>
5 #include <QtGui/QPainter>
6 #include <iostream>
8 using std::cout;
9 using std::endl;
11 int main(int argc, char **argv)
13 if(argc < 5)
15 cout << "Usage : ksvgtopng width height svgfilename outputfilename" << endl;
16 cout << "Please use full path name for svgfilename" << endl;
17 return -1;
20 int width = atoi(argv[1]);
21 int height = atoi(argv[2]);
23 QImage img(width, height, QImage::Format_ARGB32_Premultiplied);
24 img.fill(0);
26 KSvgRenderer renderer(QString::fromLocal8Bit(argv[3]));
27 if(renderer.isValid())
29 QPainter p(&img);
30 renderer.render(&p);
32 // Apply icon sharpening
33 double factor = 0;
35 if(width == 16)
36 factor = 30;
37 else if(width == 32)
38 factor = 20;
39 else if(width == 48)
40 factor = 10;
41 else if(width == 64)
42 factor = 5;
44 *img = KImageEffect::sharpen(*img, factor); // use QImageBlitz::sharpen()
48 img.save(argv[4], "PNG");
50 return 0;