Сохранение растрового изображения из буфера обмена в png в приложении wpf - PullRequest
0 голосов
/ 03 октября 2018

Мне нужно было отправить растровое изображение в мое приложение чата, так что моя идея состояла в том, чтобы сохранить его во временной папке и оттуда загрузить как мое перетаскиваемое изображение, которое уже работает.но когда он сохраняет растровое изображение в 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 отправлено" всплывает.

1 Ответ

0 голосов
/ 03 октября 2018

Чего ты пытаешься достичь?если вы пытаетесь сохранить изображение в буфер обмена в файл, у меня работает следующий код:

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