首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >位图深度复制更改PixelFormat

位图深度复制更改PixelFormat
EN

Stack Overflow用户
提问于 2013-11-18 09:37:56
回答 2查看 2.1K关注 0票数 0
代码语言:javascript
复制
Bitmap img = new Bitmap("C:\\temp\\images\\file.jpg");

img.PixelFormat是Format24bppRgb

当我在做深度复制的时候

代码语言:javascript
复制
Bitmap img2 = new Bitmap(img);

img.PixelFormat改为Format32bppArgb

为什么它改变像素格式?如果对象不做深拷贝,如何为其制作深拷贝?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-18 09:59:19

您可以像这样克隆位图,这将创建一个深拷贝:

代码语言:javascript
复制
Bitmap img = new Bitmap("C:\\temp\\images\\file.jpg");

// Clone the bitmap.
Rectangle cloneRect = new Rectangle(0, 0, img.Width, img.Height);
System.Drawing.Imaging.PixelFormat format =
    img.PixelFormat;
Bitmap img2 = img.Clone(cloneRect, format);
票数 2
EN

Stack Overflow用户

发布于 2013-11-18 09:58:39

只是找到了解决方案,而新的位图(Img)使用Bitmap img2 = (Bitmap) img.Clone();并不知道它是正确的解决方案,但它做的工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20044431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档