繁体   English   中英

在WPF应用程序中将剪贴板中的位图保存到png中

[英]Saving bitmap from clipboard into png in wpf application

我需要将位图发送到我的聊天应用程序中,所以我的想法是将其保存到一个临时文件夹中,然后从那里上传它,就像我的拖放图像已经可以正常工作一样。 但是,当它在Windows FileViewer中保存位图时,我可以看到缩略图,但是在其他任何地方都为空,这可能是问题所在或如何更好地执行此操作? 提前致谢。 这是一个视频,因此您可以更好地理解^^ https://youtu.be/p0t2byTRN58

string temp = Directory.GetParent(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)).FullName + @"\Luxray\" + @"\clipboardimg.png";
if (File.Exists(temp))
{
    File.Delete(temp);
}
BitmapSource bmpSource = Clipboard.GetImage();
MemoryStream ms = new MemoryStream();
FileStream stream = new FileStream(temp, FileMode.Create);
BitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bmpSource));
encoder.Save(stream);
stream.Close();

如果声明检查剪贴板中是否有位图并且在视频中按下了ctrl + v,则此代码将在msgbox弹出并发送“ img已发送”之后立即运行。

您想达到什么目的? 如果您尝试将剪贴板图像保存到文件中,则以下代码对我有用:

var img = System.Windows.Forms.Clipboard.GetImage();
img.Save(savePath, ImageFormat.Png);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM