将BMP转换为内存中的PNG以在.Net中粘贴剪贴板
.net
c#
image-processing
4
0

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

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

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

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

在浏览器中复制PNG图像时,会看到以下格式: HTML FORMATCF_BITMAPCF_DIBCF_DIBV5 。我不确定这些Evernote是用于粘贴的。我的印象是它是CF_BITMAP ,但是在阅读了下面的注释之后,我想它正在使用其他格式之一。

如何将图像放置在剪贴板中,粘贴后会被视为PNG?

参考资料:
Stack Overflow
收藏
评论
共 1 个回答
高赞 时间 活跃

位图保存到MemoryStream

byte[] result = null;
using (MemoryStream stream = new MemoryStream())
{
    bitmap.Save(stream, ImageFormat.Png);
    result = stream.ToArray();
}
收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号