【发布时间】:2023-04-07 02:50:01
【问题描述】:
我有一张图片,我想通过 xaml 中的滑块调整其亮度和对比度。 我不知道从哪里开始。任何帮助将不胜感激。 我正在尝试实现这个
public WriteableBitmap ChangeBrightness(WriteableBitmap inputBitmap, double brightnessValue )
{
double Value = brightnessValue;
var inputPixels = inputBitmap.Pixels;
for (int i = 0; i < inputPixels.Length; i++)
{
// Extract color components
var c = inputBitmap.Pixels[i];
var a = (byte)(c >> 24);
var r = (byte)(c >> 16);
var g = (byte)(c >> 8);
var b = (byte)(c);
int ri = r + (int)Value;
int gi = g + (int)Value;
int bi = b + (int)Value;
// Clamp to byte boundaries
r = (byte)(ri > 255 ? 255 : (ri < 0 ? 0 : ri));
g = (byte)(gi > 255 ? 255 : (gi < 0 ? 0 : gi));
b = (byte)(bi > 255 ? 255 : (bi < 0 ? 0 : bi));
inputBitmap.Pixels[i] = (a << 24) | (r << 16) | (g << 8) | b;
}
return inputBitmap;
}
但我猜它没有用,我没有找到任何有用的文章。
【问题讨论】:
-
首先,展示您尝试过的内容。
标签: c# xaml windows-store-apps winrt-xaml