ImageMagick“转换”实用程序 Magick++相等的?

发布于 2024-10-02 14:47:30 字数 512 浏览 4 评论 0原文

抱歉,如果标题没有任何意义。

目前,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.densis() 部分,但我的图像永远不会改变。它只是被光栅化并保存为 png 格式。

Sorry if the title didn't make any sense.

Currently, the following parameters on the imagemagick convert utility are perfect for what I need. I'm tring to take an .svg file, make it larger and write it as a png file.

 convert -density 36  home.svg  home_1.png

Unfortunately, I need to be using Magick++ (the C++ Interface/API for ImageMagick), but I can't seem to get the equivalent operation in Magick++.

Are there any ImageMagick pros that would be able to help me out on this?

My current code is:

image.density(Geometry(36,36));

    image.read( "Character.svg" );

    image.write( "xx.png" ); 

I've tried moving the image.density() part around, but my image is never changes. It's simply rasterized and saved as a png.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浊酒尽余欢 2024-10-09 14:47:30

我不是 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]);
}

使用 此 SVG 文件,例如:

$ ./resize example.svg out_small.png out_large.png

...文件 out_small.png 为 300x300 像素,而 out_large.png 为 600x600 像素。

这是通过 cygwin 在 Windows 7 上进行的。

I'm no ImageMagick pro, but when I tried this code:

#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]);
}

with this SVG file, e.g.:

$ ./resize example.svg out_small.png out_large.png

...the file out_small.png was 300x300 pixels, whereas out_large.png was 600x600 pixels.

This was on Windows 7 via cygwin.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文