2012-10-25 23 views
1

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

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

回答

3

可以使用Magick ::图像::写功能

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); 
相关问题