相关疑难解决方法(0)

将BMP转换为内存中的PNG,以便在.Net中粘贴剪贴板

这个类似问题的答案都需要保存文件.但是,我正在尝试转换文件,然后将其复制到剪贴板.

如何将位图(或任何图像)转换为PNG而不将其保存到文件系统?

更新:
我正在尝试将图像粘贴到应用程序中(在本例中为Evernote).当您将图像复制到剪贴板(例如通过浏览器)时,它会记住它的图像格式,当您将其粘贴时,它将创建具有相同格式的图像.例如,如果您复制PNG,它将粘贴PNG.如果您复制JPG,它将粘贴JPG等.

我正在尝试拍摄当前在剪贴板中的任何图像,将其缩放到我想要的大小,然后将其作为PNG保存在剪贴板中,这样当它粘贴到Evernote时,它将创建一个PNG.

当我在浏览器中复制一个PNG图像,我看到下面的格式:HTML FORMAT,CF_BITMAP,CF_DIB,CF_DIBV5.我不确定这些Evernote中哪一个用于粘贴.我的印象是CF_BITMAP,但在阅读下面的评论后,我猜它正在使用其他格式之一.

如何将图像放在剪贴板中,粘贴时将其视为PNG?

.net c# clipboard image-processing in-memory

21
推荐指数
1
解决办法
2万
查看次数

剪贴板复制对象和从中复制对象

我试图将一个对象复制到Windows剪贴板上然后再关闭.我的代码是这样的:

复制到剪贴板:

Clipboard.Clear();
DataObject newObject = new DataObject(prompts);
newObject.SetData(myString);
Clipboard.SetDataObject(newObject);
Run Code Online (Sandbox Code Playgroud)

哪里prompts是一个List<Data.Sources.PromptResult>集合.

复制剪贴板:

IDataObject dataObject = System.Windows.Forms.Clipboard.GetDataObject();
if (dataObject.GetDataPresent(typeof(List<Data.Sources.PromptResult>)))
{
  Type type = typeof(List<Data.Sources.PromptResult>);
  Object obj = dataObject.GetData(type);
  return (List<Data.Sources.PromptResult>)dataObject.GetData(type);
}
Run Code Online (Sandbox Code Playgroud)

GetFormats()格式显示在列表中并GetDataPresent(List<Data.Sources.PromptResult>)返回true但如果我尝试将对象从Clipboard类中取出,则GetData(List<Data.Sources.PromptResult>)返回null.

有谁知道什么可能是错的?

c# clipboard winforms

11
推荐指数
1
解决办法
3万
查看次数

标签 统计

c# ×2

clipboard ×2

.net ×1

image-processing ×1

in-memory ×1

winforms ×1