我正在尝试对内存中的位图应用对比度和亮度,但我完全迷失了方向。目前我正在尝试使用Magick++来完成它,但如果其他API可以更好地工作,我会听取建议。我设法找到了Magick::Image::sigmoidalContrast()函数来应用对比度,但我无法弄清楚如何让它起作用。我创建了一个图像,将缓冲指针传递给它,然后调用该函数,但似乎没有任何变化,所以我的第一个想法是它在制作副本并修改那个副本。即便如此,我也不知道如何从Magick::Image对象中获取数据。
以下是我目前的代码:
文档无用,搜索后只能找到一些提示,第一个参数实际上是布尔值,尽管它采用了 size_t,指定是添加还是减少对比度,而第二个值则是我不知道该传递什么,所以我只是使用 20.0 进行测试。
那么,有人知道这是否适用于对比度,如果不是,那么如何应用对比度?同样,我仍然不知道如何应用亮度,也找不到任何看起来可以工作的函数。
以下是我目前的代码:
Magick::Image image(fBitmapData->mGetTextureWidth(), fBitmapData->mGetTextureHeight(), "RGBA", MagickCore::CharPixel, pixels);
image.sigmoidalContrast(1, 20.0);
文档无用,搜索后只能找到一些提示,第一个参数实际上是布尔值,尽管它采用了 size_t,指定是添加还是减少对比度,而第二个值则是我不知道该传递什么,所以我只是使用 20.0 进行测试。
那么,有人知道这是否适用于对比度,如果不是,那么如何应用对比度?同样,我仍然不知道如何应用亮度,也找不到任何看起来可以工作的函数。