Ich öffne verschiedene Arten von Bildern wie (8 und 16 Bit) und sie sind (Monocrome, RGB, Palettenfarbe).Wie anwenden Color Lut über Bitmap-Bild in C#
Ich habe rohe Pixeldaten dieser Bilder. Ich erstelle eine Bitmap wie diese für 8-Bit-Bilder.
//for monocrome images i am passing PixelFormat.Format8bppIndexed.
//for RGB images i am passing PixelFormat.Format24bppRgb
PixelFormat format = PixelFormat.Format8bppIndexed;
Bitmap bmp = new Bitmap(Img_Width, Img_Height,format);
Rectangle rect = new Rectangle(0, 0, Img_Width, Img_Height);
//locking the bitmap on memory
BitmapData bmpData = bmp.LockBits(rect, ImageLockMode.ReadWrite, format);
// copy the managed byte array to the bitmap's image data
Marshal.Copy(rawPixel, 0, bmpData.Scan0, rawPixel.Length);
bmp.UnlockBits(bmpData);
Das Problem ist, dass, wenn ich, dass BMP-Bild zeichnen dann unterscheidet sie sich in der Farbe als Original. Also gibt es eine Möglichkeit, lut (Lookup-Tabelle) auf diese farbigen Bilder anzuwenden.
Ich möchte jeden unsicheren Code, weil ich versucht habe, getixel und setPixel und sie sind sehr langsam. Ich möchte auch nicht Image.fromSource() -Methoden.
Hallo, Auch es funktioniert nur für RGB-Bilder. Weil RGB-Bilder mit allen drei Komponenten (R, G, B). Was ist mit PaletteColor Bilder. Ich kann die Farbindizierung in Palettenbildern nicht verstehen. Handelt jemand Farbpalette Farbbilder. – prashant