c++ - 使用 Magick++ 创建一个新图像

标签 c++ c image imagemagick magick++

我有一个类似这样的 vector

typedef struct
{
  int r,g,b;
} __attribute__((__packed__))
rgbs;

vector<rgbs> rgbt;

rgbs rgb;
for(int row=0;row<100; row++)
{
  for(int col=0;col<100; col++)
  {
     rgb.r=col+row;
     rgb.g=col+row;
     rgb.b=col+row;
     rgbt.push_back(rgb);
  }
}

使用 magick++ 从该 vector 中形成新图像的有效方法是什么;

最佳答案

我从Magick++ API定制了一个例子为您准备的文档。

Blob blob( &rgbt[0], rgbt.size() / sizeof(rgbt[0]) );
Image image;
image.size( "100x100") 
image.magick( "RGB" ); 
image.read( blob);

但我不确定您是否应该使用一个字节 unsigned char 而不是 4 个字节 int。试一试,您就会知道。

关于c++ - 使用 Magick++ 创建一个新图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16835603/

相关文章:

c++ - Atomineer:确定返回类型是否为const

c - 为什么这段使用 fork() 的代码可以工作?

php - 借助数组和获取错误上传图像

c++ - 当按下鼠标左键时,在 SFML 2.0 中也按下了

c++ - 构建 CMake 时使用非默认 libstdc++?

c++ - wxColour 设置为 int 数组?

c++ - int 和 float 之间的东西比 float 保留更少的内存?

使用 C 创建 SQLite3 表,但得到一个空数据库文件

c++ - 当我要求彩色图像时,Opencv 的 imread 给我一个 2-D Mat,这正常吗?

java - 图形界面java插入图像空间