小编Ped*_* Sá的帖子

编辑8bpp索引位图

我正在尝试编辑8bpp的像素.由于此PixelFormat已编制索引,因此我知道它使用颜色表来映射像素值.即使我可以通过将位图转换为24bpp来编辑位图,但8bpp编辑速度要快得多(13ms vs 3ms).但是,在访问8bpp位图时更改每个值会导致一些随机的rgb颜色,即使PixelFormat仍为8bpp.

我目前正在开发c#,算法如下:

(C#)

1-将原始位图加载到8bpp

2-创建具有8bpp的空温度位图,其大小与原始尺寸相同

两个位图的3-LockBits,使用P/Invoke调用c ++方法,我传递每个BitmapData对象的Scan0.(我使用c ++方法,因为它在迭代Bitmap的像素时提供更好的性能)

(C++)

4-根据一些参数创建一个int [256]调色板,并通过将原始像素值传递到调色板来编辑临时位图字节.

(C#)

5- UnlockBits.

我的问题是如何在没有奇怪的rgb颜色的情况下编辑像素值,甚至更好地编辑8bpp位图的颜色表?

c# gdi+ indexed bitmap

3
推荐指数
2
解决办法
1万
查看次数

标签 统计

bitmap ×1

c# ×1

gdi+ ×1

indexed ×1