1

我需要将解码的 RGBA 数据(来自 32 位 PNG)放入 cl::Image2D 中,然后(经过一些处理)使用 enqueueReadImage() 将其写回 Magick++ 图像。

但是,目前我看不到任何直接在 Magick++ 图像对象中访问 RGBA 数据的方法。这可能吗?如果没有,从 Magick++ 对象获取 RGBA 格式数据的最佳方法是什么?

4

1 回答 1

3

您可以使用 Magick::Image::write 函数

Magick::Image im;
// read image ....

// only for RGBA !!!
size_t im_size = im.columns() * im.rows() * 4;
uint8_t * pixels = new uint8_t[im_size];
im.write(0, 0, im.columns(), im.rows(), "RGBA", ::Magick::CharPixel, pixels);
于 2012-10-25T14:34:13.740 回答