我正在尝试从剪贴板保存复制的图像,但它正在丢失其 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 数据,它就会丢失。也许我需要以其他方式将其从剪贴板中取出?