很抱歉,如果标题没有任何意义。
目前,imagemagick转换实用程序上的以下参数非常适合我的需要。我想带一个.svg文件,把它做大,然后把它写成一个png文件。
convert -density 36 home.svg home_1.png
不幸的是,我需要使用Magick ++(ImageMagick的C ++接口/ API),但我似乎无法在Magick ++中获得等效的操作。
是否有任何ImageMagick专业人员可以帮助我解决这个问题?
我目前的代码是:
image.density(Geometry(36,36));
image.read( "Character.svg" );
image.write( "xx.png" );
我试过移动image.density()
部分,但我的形象永远不会改变。它只是光栅化并保存为png。
答案 0 :(得分:2)
我不是ImageMagick专家,但是当我尝试这段代码时:
#include <Magick++.h>
int main(int argc, char **argv) {
Magick::Image img;
img.density(Magick::Geometry(36,36));
img.read(argv[1]);
img.write(argv[2]);
img.density(Magick::Geometry(72,72));
img.read(argv[1]);
img.write(argv[3]);
}
this SVG file,例如:
$ ./resize example.svg out_small.png out_large.png
...文件out_small.png
为300x300像素,而out_large.png
为600x600像素。
这是在Windows 7上通过cygwin。