c++ - ImageMagick 与 Cairo 在 vector 图形光栅化方面的对比

标签 c++ imagemagick vector-graphics graphic

我正在从事一个需要将绘图光栅化为图像文件的项目。我已经使用 GDI+ 让它工作了。想要创建一个可移植解决方案,我也在研究其他解决方案并找到了两个 - cairo 和 imagemagick。我对两者都不熟悉,但似乎 ImageMagick 几乎可以做所有的事情——画线、圆弧、圆、文本等。加上许多位图操作。

但是,开罗在网站上被称为 GDI+ 的竞争对手。 ImageMagick 从未被提及用于此目的。

我没有时间投资于这两个图书馆。我需要决定哪一个是值得的。 我更喜欢 ImageMagick,因为它看起来更强大。

您对这两个图形库有何看法?

最佳答案

Cairo 本身不能在位图操作方面做很多事情——至少在某种意义上 ImageMagick 可以。然而,它是一个非常强大的 vector 图像库,并且几乎 GDI+ 可以做的所有事情,直到它实际上成为 DirectDraw 2D 的合适替代品。它还可以生成和使用位图图像,并直接支持PNG图像格式。

另一方面,ImageMagick 是一个位图 图像库。它不像 Cairo 那样关注 vector 图形,而是直接生成 vector 图形的位图表示。另一方面,它也做了很多 Cairo 原生做不到的事情,包括文本光栅化; IM 还支持几乎所有 Man 已知的图像格式,并且可以相对轻松地导入和导出它们。

如果您需要制作可缩放的 vector 图形,请使用 Cairo。

如果您要输出位图或光栅格式,请使用 ImageMagick。

关于c++ - ImageMagick 与 Cairo 在 vector 图形光栅化方面的对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2650345/

相关文章:

c++ - GetMonitorBrightness() 因访问冲突而崩溃

r - 如何将 Logo 添加到 ggplot 可视化?

colors - 使用 ImageMagick 进行色彩还原

c++ - 在 C++ 中对引用的引用是非法的吗?

c++ - 如何使用 setfill 和 setw 在字符串变量中存储十六进制值

C++ 程序未正确链接到 .so 文件

image-processing - 使用 ImageMagick 像 Facebook 一样调整图像大小

javascript - 使用用户可编辑的线条和节点进行基本 Javascript 绘图

android - 使用 PDF 或 Vector 文件在 Android Studio 中添加所有尺寸的图像资源

d3.js - 数据可视化初学者 : Learn processing, d3.js 还是其他先?