2011-07-29 40 views
1

我有一個System.Windows.Controls.Image,它裝飾着幾個裝飾者。現在我想將裝飾的圖像複製到剪貼板。到目前爲止,我有這樣的代碼行:將裝飾圖像複製到剪貼板

System.Windows.Clipboard.SetImage(myImage as BitmapImage); 

但是,這隻會複製圖像本身;不包括裝飾者。有沒有辦法包括裝飾者?

編輯:這是我展示如何裝飾myImage一些代碼:

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

MyAdornerSystem.Windows.Documents.Adorner一個子類。我認爲執行的具體細節並不重要。

+0

你如何生成裝飾者?你能顯示一些代碼嗎? –

+0

我之前沒有使用裝飾,但從閱讀文檔看來,UIElement和Adorner之間沒有關係。它只需從UIElement獲得所需的位置,然後渲染。所以我看到的唯一可能就是截圖。上次我檢查框架沒有提供一個方法來做到這一點,你將不得不做一些互操作調用。 – Stijn

+1

[每個Adorner是一個UIElement](http://msdn.microsoft.com/en-us/library/system.windows.documents.adorner.aspx) – Darcara

回答

1

您需要將圖像及其裝飾物渲染到RenderTargetBitmap,然後將該位圖轉換爲可添加到剪貼板的圖像。

請參閱頁面底部的示例,它應該涵蓋您需要的所有內容。