的Visual Studio 2010,.NET 4,VB.NETVB.NET:移動到剪貼板上的圖像時保留圖像元數據
你好,
我寫了一個小程序,以乳膠片段轉換爲圖像它可以粘貼到任何可以粘貼圖像的程序中。它工作正常,但下一步顯然是將源LaTeX代碼作爲圖像中的一部分元數據,以便可以修改結果而無需重新鍵入所有內容。
我已成功添加標題PropertyItem與乳膠編碼爲ASCII字節數組作爲它的值(id = 800,type = 2,value = System.Text.Encoding.ASCII.GetBytes(codestring))。我試圖將圖像放在剪貼板上之前驗證PropertyItem是否真的存在。
然後我做Clipboard.SetImage(MYIMAGE)。結果是所有的PropertyItem都被刪除了(我的標題加上其他任何東西)!我通過執行MsgBox(Clipboard.GetImage.PropertyItems.Count.ToString)來檢查它,它給出零。
這讓我很傷心。任何人都知道發生了什麼?
在此先感謝!
布賴恩
更新:我已經找到了如何將圖像移動到剪貼板中,然後再次關閉,同時保持像這樣的PropertyItems:
Format = DataFormats.GetFormat(GetType(Image).FullName)
Dim dataObject As New DataObject
dataObject.SetData(Format.Name, image)
Clipboard.SetDataObject(dataObject)
Dim copiedImage As Image = CType(Clipboard.GetDataObject.GetData(Format.Name), Image)
這樣,copiedImage具有相同的PropertyItems作爲原件。然而,新的問題:
其他程序不承認有什麼在剪貼板上的圖像了,這違背了整個目的。也就是說,如果我以這種方式在剪貼板上放置圖像,當我嘗試粘貼到接受粘貼圖像的上下文時,沒有任何反應。
怎麼辦?
這就是我最終做的。謝謝! –