gpt4 book ai didi

.net - 将图像和文本一起复制到剪贴板

转载 作者:行者123 更新时间:2023-12-03 21:39:53 24 4
gpt4 key购买 nike

我需要将图片框中的图像和文本框中的文本一起复制到 Windows 剪贴板,以便将它们粘贴到 Word 中。

我正在使用以下代码:

    Dim bmp As New Bitmap(pb1.Width, pb1.Height)
pb1.DrawToBitmap(bmp, New Rectangle(0, 0, pb1.Width, pb1.Height))

Dim dataobj As DataObject = New DataObject
dataobj.SetText("This image is a graph")
dataobj.SetImage(bmp)
Clipboard.SetDataObject(dataobj, True)

bmp.Dispose()

仅复制文本,但注释掉 SetText行导致图像被复制。
任何帮助将非常感激。

最佳答案

数据格式用于根据上下文检索,即位图将粘贴到 Paint 中,文本将粘贴到记事本中。

此代码表明您可以在 .NET 中检索它们。当您指定每种格式时

Dim data As New DataObject()
data.SetData(DataFormats.Bitmap, True, Me.pb1.Image)
data.SetData(DataFormats.Text, True, "This image is a graph")
Clipboard.SetDataObject(data, True)
Dim bResult As Bitmap = Clipboard.GetData(DataFormats.Bitmap)
Dim tResult As String = Clipboard.GetData(DataFormats.Text)

作为另一个测试,将图像和文本都放入 Word,并复制它们。然后检查 tResult 中的结果和 bResult (当然注释掉 SetDataObject 行)。您会注意到 tResult有你的字符串,但是 bResult一片空白。如果您能找出位图从 Word 复制时的格式,并在 .NET 中设置它时使用该格式,则您可能能够解决它。

编辑

仅从 Word 复制图像确实会将位图放入 bResult ,但是当它与其他任何东西一起复制时, Clipboard.GetData(DataFormats.Bitmap)一片空白。

关于.net - 将图像和文本一起复制到剪贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24678229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com