代码中的wb.SaveJpeg行生成错误: System.Windows.Media.Imaging.WriteableBitmap‘不包含'SaveJpeg’的定义,并且找不到接受'System.Windows.Media.Imaging.WriteableBitmap‘类型的第一个参数的扩展方法'SaveJpeg’
我已经包含了PresentationCore、PresentaionFramework、System.Windows.Forms、WindowsBase作为参考。
BitmapImage image = CaptureImageFromClipBoard();
WriteableBitmap wb = new WriteableBitmap(image);
using (var isf = IsolatedStorageFile.GetUserStoreForApplication())
{
using (var fs = isf.CreateFile(path + "\\" + filename + ".jpg"))
{
wb.SaveJpeg(fs, wb.PixelWidth, wb.PixelHeight, 10, 100);
}
}下面是CaptureImageFromClipBoard方法:
static public BitmapImage CaptureImageFromClipBoard()
{
var img = new System.Windows.Controls.Image();
var imgsrc = Clipboard.GetImage();
img.Source = new FormatConvertedBitmap(imgsrc, PixelFormats.Bgr32, null, 0);
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
MemoryStream memoryStream = new MemoryStream();
BitmapImage bImg = new BitmapImage();
encoder.Frames.Add(BitmapFrame.Create(imgsrc));
encoder.Save(memoryStream);
bImg.BeginInit();
bImg.StreamSource = new MemoryStream(memoryStream.ToArray());
bImg.EndInit();
memoryStream.Close();
return bImg;
}发布于 2013-03-14 09:59:12
我建议这样做-注意:未经测试,从内存和原始帖子键入...
static public void SaveCapturedImageFromClipBoard(Stream target)
{
var img = new System.Windows.Controls.Image();
var imgsrc = Clipboard.GetImage();
img.Source = new FormatConvertedBitmap(imgsrc, PixelFormats.Bgr32, null, 0);
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(imgsrc));
encoder.Save(target);
}和
using (var isf = IsolatedStorageFile.GetUserStoreForApplication())
{
using (var fs = isf.CreateFile(path + "\\" + filename + ".jpg"))
{
SaveCapturedImageFromClipBoard(fs);
}
}https://stackoverflow.com/questions/15399215
复制相似问题