我如何可以存储System.Windows.Controls.Image到磁盘的位置说:C:\ DATA \ 1.JPG 感谢如何System.Windows.Controls.Image存储到本地磁盘
3
A
回答
3
也许尝试一些沿着这个方法的行:
private void SaveImageToJPEG(Image ImageToSave, string Location)
{
RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap((int)ImageToSave.Source.Width,
(int)ImageToSave.Source.Height,
100, 100, PixelFormats.Default);
renderTargetBitmap.Render(ImageToSave);
JpegBitmapEncoder jpegBitmapEncoder = new JpegBitmapEncoder();
jpegBitmapEncoder.Frames.Add(BitmapFrame.Create(renderTargetBitmap));
using (FileStream fileStream = new FileStream(Location, FileMode.Create))
{
jpegBitmapEncoder.Save(fileStream);
fileStream.Flush();
fileStream.Close();
}
}
您可能需要惹的RenderTargetBitmap尺寸各地得到你想要的,但这应该把工作做好。您也可以使用不同的编码器,而不仅仅是JpegBitmapEncoder。
0
德国,但有代码将FrameworkElement转换为可以轻松保存的System.Drawing.Image。 Link
+0
伟大的通用解决方案,但也许更容易从图像控件中获取图像,而不是渲染整个控件? :)感觉像太多:) – OregonGhost 2009-12-01 09:38:57
0
问题仍未得到解决,所以我会套用先前提供的示例:
public System.Drawing.Image ConvertControlsImageToDrawingImage(System.Windows.Controls.Image imageControl)
{
RenderTargetBitmap rtb2 = new RenderTargetBitmap((int)imageControl.Width, (int)imageControl.Height, 90, 90, PixelFormats.Default);
rtb2.Render(imageControl);
PngBitmapEncoder png = new PngBitmapEncoder();
png.Frames.Add(BitmapFrame.Create(rtb2));
Stream ms = new MemoryStream();
png.Save(ms);
ms.Position = 0;
System.Drawing.Image retImg = System.Drawing.Image.FromStream(ms);
return retImg;
}
从那里,你可以使用由为System.Drawing.Image类提供的保存()方法中的一种。
相关问题
- 1. 如何保存在本地磁盘
- 2. 如何将对象存储到磁盘?
- 3. 从存储器到磁盘
- 4. 将PDF保存到本地磁盘C#
- 5. Sesame 2.7在磁盘上存储本地存储库?
- 6. 在Chrome扩展中将文件存储到本地磁盘
- 7. 将存储桶文件复制到本地磁盘的问题
- 8. 链接到本地磁盘
- 9. RDFlib'磁盘'存储
- 10. RavenDB磁盘存储
- 11. 如何将存储过程的输出存储到磁盘上
- 12. artifactory:将存储库从磁盘导入到现有的本地存储库中
- 13. WMI:如何将内部的“本地磁盘” HDD和外部“本地磁盘” HDD
- 14. 如何将浏览器textarea的文本内容存储在本地磁盘上
- 15. Memcache使用磁盘存储?
- 16. ehcache 2.5.0磁盘存储
- 17. Java ehcache磁盘存储
- 18. Cassandra将Keyspace存储到新磁盘
- 19. 将索引LARQ存储到磁盘
- 20. iOS:NSIndexPath在NSDictionary - 不会存储到磁盘
- 21. iphone - 将图像存储到磁盘
- 22. CHS到LBA映射 - (磁盘存储)
- 23. 当磁盘存储达到时sqlite3
- 24. 如何将某些还原存储属性保存到磁盘?
- 25. 如何在磁盘上存储长文本列?
- 26. 如何使用PowerShell远程确定存储类型(SAN/NAS /本地磁盘)?
- 27. Outlook msg文件存储在本地磁盘,如何用delphi读取
- 28. Django的:在本地磁盘
- 29. 本地磁盘配置
- 30. 如何优雅地处理Parcelable实现更改时存储到磁盘?
[你不需要调用关闭作为配置将为你做。](http://stackoverflow.com/q/911408/299327) – 2013-04-12 20:34:43