我正在尝试将对比度和亮度应用于内存中的位图,但我完全迷失了。目前我正在尝试使用 Magick++ 来做到这一点,但如果其他 API 之一能更好地工作,我会全力以赴。我设法找到 Magick::Image::sigmoidalContrast() 来应用对比度,但我不知道如何让它工作。我正在创建一个图像,将缓冲区指针传递给它,然后调用该函数,但它似乎并没有改变任何东西,所以我的第一个想法是它正在制作一个副本并修改它。即便如此,我也不知道如何从 Magick::Image 对象中获取数据。
这是我到目前为止所得到的。
Magick::Image image(fBitmapData->mGetTextureWidth(), fBitmapData->mGetTextureHeight(), "RGBA", MagickCore::CharPixel, pixels);
image.sigmoidalContrast(1, 20.0);
文档没用,搜索后我只能找到第一个参数实际上是布尔值的提示,即使它需要一个 size_t,它指定是添加还是减去对比度,而第二个值是我不知道要做什么的东西通过所以我只是使用 20.0 来测试。
那么有谁知道这是否适用于对比,如果没有,那么你如何应用对比?同样,我仍然不知道如何应用亮度,也找不到任何看起来可以工作的功能。