【发布时间】:2013-07-01 14:17:14
【问题描述】:
使用 CImg:我读到 here,您可以像这样更改单个像素的 RGB 数据:
CImg<float> img("filename.jpg");
// Change the (100,200) pixel to Red.
img(100,200,0,0) = 255; //R
img(100,200,0,1) = 0; //G
img(100,200,0,2) = 0; //B
但是img(100, 200, 0, 0)返回的是unsigned char *类型,这显然不是上面sn-p所暗示的变量。当我运行上面的代码时,我的构建输出中出现“错误 C2106:'=':左操作数必须是左值”。
一个潜在的解决方案是使用不同版本的 CImg 构造函数,它将原始像素数据作为其第一个参数,但在通过构造函数运行数据之前,我找不到有关如何格式化数据的任何信息- 第一个参数在CImg.h的第9671行被描述为一个模板。
任何帮助将不胜感激;我已经有一段时间了。
【问题讨论】:
-
CImg.draw_point() facepalm
标签: c++ visual-c++ visual-studio-2008 graphics cimg