如何以索引格式保存图像并获取它';s调色板
本文关键字:调色板 获取 索引 格式 图像 保存 | 更新日期: 2023-09-27 18:00:41
我想将图像保存为Format8ppp使用以下代码索引:
Bitmap imgsource = new Bitmap(sourceimage);
Bitmap imgtarget = new Bitmap(imgsource.Width, imgsource.Height, PixelFormat.Format8bppIndexed);
for (int I = 0; I <= imgsource.Width - 1; I++)
{
for (int J = 0; J <= imgsource.Height - 1; J++)
{
imgtarget.SetPixel(I, J, imgsource.GetPixel(I, J));
}
}
imgtarget.Save(targetimage);
但我面临的错误是"Setpixel不支持带索引像素格式的图像"
并且我想保存带有索引的图像我该怎么做?
改为使用这个:
Bitmap imgtarget = imgsource.Clone(
new Rectangle(0, 0, imgsource.Width, imgsource.Height),
PixelFormat.Format8bppIndexed);
编辑:
GDI+中有两种类型的Image
:Bitmap
s和Metafile
s。通常从位图图像文件(.jpg
、.png
、.bmp
、.gif
、.exif
和.tiff
)加载图像,而不是从元文件(.wmf
或.emf
)加载图像。因此,与其基于图像创建新的位图,不如将Image
对象投射到Bitmap
:
Bitmap imgsource = (Bitmap)sourceimage;
代码的第一行更改图像的原始属性,并将DIP重置为96。