相关疑难解决方法(0)

这种棕褐色调转换算法有什么问题?

我似乎有一种几乎正常工作的棕褐色调.由于某种原因,图像的一部分原来是柠檬绿!有谁知道我可能做错了什么?方法发布在下面.

private void SepiaBitmap(Bitmap bmp)
{
    Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height);
    System.Drawing.Imaging.BitmapData bmpData = bmp.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite,
        System.Drawing.Imaging.PixelFormat.Format32bppRgb);

    IntPtr ptr = bmpData.Scan0;

    int numPixels = bmpData.Width * bmp.Height;
    int numBytes = numPixels * 4;
    byte[] rgbValues = new byte[numBytes];

    System.Runtime.InteropServices.Marshal.Copy(ptr, rgbValues, 0, numBytes);
    for (int i = 0; i < rgbValues.Length; i += 4)
    {
        rgbValues[i + 2] = (byte)((.393 * rgbValues[i + 2]) + (.769 * rgbValues[i + 1]) + (.189 * (rgbValues[i + 0]))); //red
        rgbValues[i …
Run Code Online (Sandbox Code Playgroud)

.net c# colors

2
推荐指数
2
解决办法
4325
查看次数

标签 统计

.net ×1

c# ×1

colors ×1