//此原因是因为在保存副本时候图像深度改变:
Bitmap curBmpfile;//当前图片 Bitmap iniBmpfile;//图片副本 string curFilename;//源图片路径,为24位深度 -------------------------------------- curBitmap = (Bitmap)Image.FromFile(curFilename);//打开并保存 iniBitmap = (Bitmap)curBitmap.Clone(); //用克隆方法可以复制curBitmap的所有信息,但是如果用 //iniBitmap=new Bitmap(curBitmap) ,操作之后的图像变为 32位 深度 //而且Bitmap中的重载方法没有直接从文件设定格式复制的,只有一个可以指定大小的重载方法。**.Bitmap(*.Width,*.Height,Image.GetPixelFormatSize) //获取位深度可以用 int curFileDepth = Image.GetPixelFormatSize(curBitmap.PixelFormat);
如有意见或错误,不吝赐教。
时间: 2024-10-24 06:44:02