【发布时间】:2010-11-03 04:12:28
【问题描述】:
我正在尝试从剪贴板保存复制的图像,但它丢失了 alpha 通道:
Image clipboardImage = Clipboard.GetImage();
string imagePath = Path.GetTempFileName();
clipboardImage.Save(imagePath);
如果我从 PhotoShop 或 IE/Firefox/Chrome 复制 32 位图像并运行上述代码,输出将丢失其 alpha 通道,而是以黑色背景保存。
图片保存为PNG,可以包含一个alpha通道。
正确的数据似乎在剪贴板中,因为粘贴到其他应用程序(例如 PhotoShop)会保留 Alpha 通道。
谁能让我摆脱痛苦?
提前致谢!
更新:
// outputs FALSE
Debug.WriteLine(Image.IsAlphaPixelFormat(Clipboard.GetImage().PixelFormat));
以上内容表明,alpha 数据一旦从剪贴板中取出就会丢失。也许我需要以其他方式将其从剪贴板中取出?
【问题讨论】:
-
+1 只是为了正确使用它和它的
-
好问题。如果你已经解决了,也许你想用一个工作代码更新你的问题,好吗?
标签: c# .net image png clipboard