Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将装饰图像复制到剪贴板_C#_Wpf_Clipboard_Bitmapimage_Adorner - Fatal编程技术网

C# 将装饰图像复制到剪贴板

C# 将装饰图像复制到剪贴板,c#,wpf,clipboard,bitmapimage,adorner,C#,Wpf,Clipboard,Bitmapimage,Adorner,我有一个System.Windows.Controls.Image,上面装饰着几个装饰物。现在我想把装饰过的图像复制到剪贴板上。到目前为止,我有以下代码行: System.Windows.Clipboard.SetImage(myImage as BitmapImage); 然而,这只是复制图像本身;装饰物不包括在内。有没有办法包括装饰物 编辑:这里有一些代码显示了我是如何装饰我的图像的: MyAdorner myAdorner = new MyAdorner(myImage); Adorne

我有一个
System.Windows.Controls.Image
,上面装饰着几个装饰物。现在我想把装饰过的图像复制到剪贴板上。到目前为止,我有以下代码行:

System.Windows.Clipboard.SetImage(myImage as BitmapImage);
然而,这只是复制图像本身;装饰物不包括在内。有没有办法包括装饰物

编辑:这里有一些代码显示了我是如何装饰我的图像的:

MyAdorner myAdorner = new MyAdorner(myImage);
AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(myImage);
adornerLayer.Add(myAdorner);

MyAdorner
System.Windows.Documents.Adorner
的子类。我认为实现的细节并不重要。

您需要将图像及其装饰程序渲染为位图,然后将该位图转换为可以添加到剪贴板的图像


请参见页面底部的示例,它应该涵盖您需要的所有内容。

您需要将图像及其装饰程序渲染为一个位图,然后将该位图转换为可以添加到剪贴板的图像


请参见页面底部的示例,它应该涵盖您需要的所有内容。

如何生成装饰器?您能展示一些代码吗?我以前没有使用过装饰器,但是从阅读文档来看,UIElement和装饰器之间似乎没有关系。它只是从UIElement获取所需的位置,然后进行渲染。所以我看到的唯一可能就是截图。上次我检查框架没有为您提供执行此操作的方法时,您必须执行一些互操作调用。@Davide Piras:我现在在问题中添加了几行代码。如何生成装饰器?您能展示一些代码吗?我以前没有使用过装饰器,但是从阅读文档来看,UIElement和装饰器之间似乎没有关系。它只是从UIElement获取所需的位置,然后进行渲染。所以我看到的唯一可能就是截图。上次我检查框架没有为您提供执行此操作的方法时,您必须执行一些互操作调用。@Davide Piras:我现在在问题中添加了几行代码。