对于一个简单的C ++库的任何建议我可以用来创建一个指定大小的图像,具有固定的rgb颜色值或理想地支持渐变。
需要在Windows上工作,理想情况下也不需要在OS X上工作。
我找到了开罗,但只是想知道是否还有其他任何东西,因为它看起来很简单。
答案 0 :(得分:6)
Cairo是此任务的特殊库。如果你认为它有点矫枉过正,我可以向你保证,它绝对不是一个臃肿或大型的图书馆。开罗意味着完全符合您的需求。请注意,如果您需要能够在图像上设置文本,则需要一个排版库,例如Pango(可以很好地使用它)。
也就是说,此类别中的大多数其他库都是用于游戏(如Allegro),或仅限于位图操作(如libGd和ImageMagick)。开罗是为应用程序生成的矢量图像而设计的。
答案 1 :(得分:3)
答案 2 :(得分:3)
CImg library易于使用,允许编写简洁的代码,并在单个头文件中定义。给出了多个例子。
答案 3 :(得分:1)
Juce可能会做你想要的。它可以绘制图像并用渐变填充区域,并支持Windows,Linux和Mac。没有更具体的信息,除此之外无法帮助。
答案 4 :(得分:1)
你试过了吗?
电晕
http://corona.sourceforge.net/
如果您不需要抖动,只需填充RGB帧缓冲区并将其传递给Corona进行输出。如果你需要抖动或比特深度的转换,那你就不走运了。
你应该检查它的安全性以及它包含的C库的补丁级别,因为Corona似乎是多年前的最后一次更新,但它基本上是一个相当薄的C ++层,位于GIF,JPEG和PNG的C库之上本地BMP和PCX支持。
答案 5 :(得分:1)
我通常使用gd library,php(以及其他)使用的相同库,通常用于创建CAPTCHA。但你基本上可以随心所欲地做任何事情。
答案 6 :(得分:1)
Anti-Grain Geometry更多样本。
答案 7 :(得分:0)
我碰巧有与你类似的要求: 我想绘制一些基本的2D形状,并希望在何时使用透明特征 一些形状重叠。
在我阅读开罗的文件后,我发现要记住很多概念。
因此,我进行了自己的搜索并找到了PNGwriter。
虽然有点过时我必须稍微修改源代码才能使用libpng1.4进行编译,但语法非常直观,正是我想要的。
例如,您使用pngwritter::filledcircle
绘制填充的矩形。
看看它绘制数学函数的例子:
http://pngwriter.sourceforge.net/quickstart-en.php
#include <pngwriter.h>
int main()
{
int i;
int y;
pngwriter png(300,300,0,"test.png");
for(i = 1; i < 300;i++)
{
y = 150+100*sin((double)i*9/300.0);
png.plot(i,y, 0.0, 0.0, 1.0);
}
png.close();
return 0;
}
结果是:
Mac OS X 10.6.7附带freetype和libpng,您只需更新即可 根据编译错误的来源,只是一些快速的黑客攻击。