【问题标题】:C# WPF Copying PNG with transparency to clipboard [duplicate]C#WPF将具有透明度的PNG复制到剪贴板[重复]
【发布时间】:2018-07-09 13:38:43
【问题描述】:

我有 argb 位图。我想复制到剪贴板。 为什么我的代码不起作用?

var enc = new PngBitmapEncoder();
using (var ms = new MemoryStream())
{
     enc.Frames.Add(BitmapFrame.Create((BitmapSource)Img.Source));
     enc.Save(ms);
     BitmapImage bi = new BitmapImage();
     bi.BeginInit();
     bi.StreamSource = ms;
     bi.EndInit();
     Clipboard.SetImage(bi);
}

【问题讨论】:

  • 什么不起作用?
  • Save() 调用使流位于数据的末尾。您必须添加 ms.Position = 0 才能将其移回。
  • 复制png并粘贴。但是img不是透明的。

标签: c# wpf


【解决方案1】:

默认情况下,Windows 剪贴板不支持透明度,但您可以将多种类型的内容放在剪贴板上,以确保大多数应用程序在其中找到可以使用的某种类型。通常,如果除了普通的不透明剪贴板位图格式之外,您将图像以 PNG 和 DIB 格式放在剪贴板上,大多数应用程序将能够使用其中至少一种格式来获取它们支持的格式的图像透明。

已经有答案了:Copying From and To Clipboard loses image transparency

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-14
    • 2017-10-25
    • 2013-01-07
    • 1970-01-01
    • 1970-01-01
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多