Я пытаюсь сохранить скопированное изображение из буфера обмена, но теряет свой альфа-канал:
Image clipboardImage = Clipboard.GetImage();
string imagePath = Path.GetTempFileName();
clipboardImage.Save(imagePath);
Если я копирую 32-битное изображение из PhotoShop или IE / Firefox / Chrome и запускаю приведенный выше код, вывод теряет свой альфа-канал, вместо этого он сохраняется на черном фоне.
Изображение сохраняется в формате PNG, которое может содержать альфа-канал.
В буфере обмена отображаются правильные данные, поскольку при вставке в другие приложения (например, PhotoShop) сохраняется альфа-канал.
Кто-нибудь может избавить меня от моих страданий?
Заранее спасибо!
Обновление:
// outputs FALSE
Debug.WriteLine(Image.IsAlphaPixelFormat(Clipboard.GetImage().PixelFormat));
Вышесказанное предполагает, что альфа-данные теряются, как только они вынимаются из буфера обмена. Возможно, мне нужно каким-то другим способом вытащить его из буфера обмена?