这个类似问题的答案都需要保存文件.但是,我正在尝试转换文件,然后将其复制到剪贴板.
如何将位图(或任何图像)转换为PNG而不将其保存到文件系统?
更新:
我正在尝试将图像粘贴到应用程序中(在本例中为Evernote).当您将图像复制到剪贴板(例如通过浏览器)时,它会记住它的图像格式,当您将其粘贴时,它将创建具有相同格式的图像.例如,如果您复制PNG,它将粘贴PNG.如果您复制JPG,它将粘贴JPG等.
我正在尝试拍摄当前在剪贴板中的任何图像,将其缩放到我想要的大小,然后将其作为PNG保存在剪贴板中,这样当它粘贴到Evernote时,它将创建一个PNG.
当我在浏览器中复制一个PNG图像,我看到下面的格式:HTML FORMAT,CF_BITMAP,CF_DIB,CF_DIBV5.我不确定这些Evernote中哪一个用于粘贴.我的印象是CF_BITMAP,但在阅读下面的评论后,我猜它正在使用其他格式之一.
如何将图像放在剪贴板中,粘贴时将其视为PNG?
我试图将一个对象复制到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.
有谁知道什么可能是错的?