本文将介绍System.Drawing.Image流C#的详细情况,。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于.net–System.Drawing(G
本文将介绍System.Drawing.Image流C#的详细情况,。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于.net – System.Drawing(GDI)vs System.Windows.Media(WPF)vs Direct2D DirectWrite WIC、android – 为什么AVD Manager中缺少Intel x86 Atom System Image(API 15)、asp.net-mvc-3 – 在ASP.NET MVC 3视图中渲染System.Drawing.Image的最佳方法、C# Pen绘制虚线(System.Drawing.Pen与System.Windows.Media.Pen)的知识。
本文目录一览:- System.Drawing.Image流C#
- .net – System.Drawing(GDI)vs System.Windows.Media(WPF)vs Direct2D DirectWrite WIC
- android – 为什么AVD Manager中缺少Intel x86 Atom System Image(API 15)
- asp.net-mvc-3 – 在ASP.NET MVC 3视图中渲染System.Drawing.Image的最佳方法
- C# Pen绘制虚线(System.Drawing.Pen与System.Windows.Media.Pen)
System.Drawing.Image流C#
System.Drawing.Image
我的程序中有一个。该文件不在文件系统中,而是保存在内存中。我需要从中创建一个流。我将如何去做呢?
答案1
小编典典请尝试以下操作:
public static Stream ToStream(this Image image, ImageFormat format) { var stream = new System.IO.MemoryStream(); image.Save(stream, format); stream.Position = 0; return stream;}
然后,您可以使用以下命令:
var stream = myImage.ToStream(ImageFormat.Gif);
用适合您的方案的任何格式替换GIF。
.net – System.Drawing(GDI)vs System.Windows.Media(WPF)vs Direct2D DirectWrite WIC
此外,如果有人知道一个好的和详细的比较图表,列出了并排的不同功能和等价物,以及不支持的,这将是伟大的!例如,WPF和Direct2D中是否存在ColorMatrix等价物?例如,在研究了SharpDX对Direct2D的实现后,我留下的印象是即使微软将其定位为GDI的完全替代品,我也无法在Direct2D中找到所有GDI的功能.
另外,考虑到它是2014年,你会说至少对于图像处理(如果不是UI的一部分,WPF似乎是更好的选择),GDI在接下来的5年左右会好吗?或者我应该真的考虑使用所有3种技术,哪种方法效果最好?
谢谢.
解决方法
根据您的预期用途,我将使用以下方法:
>尽可能使用WPF名称空间,即System.Windows.Media.据我所知,System.Drawing和GDI通常使用非托管资源,这可能会产生不希望的,可避免的问题;
>尽可能严格地使用MVVM架构.也就是说,您有一个仅用于显示信息的View层,以及包含业务逻辑的Model和viewmodel层.虽然有些人可能会说视觉内容不属于viewmodel层,但如果你的应用程序处理图像操作,那么你的业务逻辑就像定义一样与View相关(我花了很长时间才弄明白这一点).
>如有疑问,请使用多维数组(在Model / viewmodel中)执行图像处理,并将这些数组绑定到View(使用ValueConverter通过DataBinding).
这样,例如,您可以使用ImageLayerviewmodel类来表示Layer,其中Data属性(或Value或PixelArray或Raster,无论如何)是double [height,width,depth].
我可以详细说明一下,但我不确定是否正确回答你的问题,所以如果你愿意,可以写任何评论.
android – 为什么AVD Manager中缺少Intel x86 Atom System Image(API 15)
我启动了AVD Manager并试图创建一个模拟器.我可以看到2.3.3的英特尔凌动图像,但不是4.0.3.
我试图重新安装它,但仍然没有在AVD中看到它.
有谁知道这是什么问题?
解决方法
asp.net-mvc-3 – 在ASP.NET MVC 3视图中渲染System.Drawing.Image的最佳方法
我找到了一些可能适合这种情况的自定义Html Helper方法.还找到了一个使用新动作方法的示例,该方法返回FileContentResult以便关闭此类内容.我想知道什么技术是最好和最容易实现的.
编辑
更具体地说,我在Controller中的System.Drawing.Image变量中有图像,我希望在视图中显示该变量.
解决方法
public ActionResult GetImg() { string imageFile = System.Web.HttpContext.Current. Server.MapPath("~/Content/tempimg/unicorn.jpg"); var srcImage = Image.FromFile(imageFile); using (var streak = new MemoryStream()) { srcImage.Save(streak,ImageFormat.Png); return File(streak.ToArray(),"image/png"); } }
现在你可以在这样的视图中调用它
<img src="@Url.Action("GetImg","YourControllerName")" alt="alt text"/>
C# Pen绘制虚线(System.Drawing.Pen与System.Windows.Media.Pen)
一.绘制虚线的方法
- GDI绘制,使用的是System.Drawing.Pen
Pen pen = new Pen(Color.Red, 1);
pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Custom;
pen.DashPattern = new float[] { 5, 5 };
Graphics gh = this.CreateGraphics();
gh.DrawLine(pen, 10, 150, 500, 150);
这种方法使用的Pen 是System.Drawing.Pen,它的DashStyle属性类型是个枚举类型,可以直接设置为DashStyle.Custom,这样就可以使用虚线了
必须提出的一点是注意:这个更适合于WinForm工程使用,也是在我绘制虚线时查找资料提示最多的选项,但WPF类型显示是不能使用这个Pen类型的(System.Drawing)而是System.Windows.Media类型
2.DrawingContext绘制,使用的是System.Windows.Media.Pen
这种绘制一般都是Override OnRender方法时居多,我也是在这种场景下有个绘制虚线的需求,所以查了很多资料,先上代码
var pen = new Pen { Brush = Brushes.DeepSkyBlue, Thickness = 2};
DashStyle dashStyle = new DashStyle();
dashStyle.Offset = 0;
dashStyle.Dashes = new DoubleCollection();
dashStyle.Dashes.Add(2);
dashStyle.Dashes.Add(5);
pen.DashStyle = dashStyle;
dc.DrawGeometry(null, pen, geometry);
上述Pen类型为System.Windows.Media.Pen类型下的Pen,其DashStyle是个类,不是个枚举类型了,所以不能直接设置,需要实例化DashStyle对象,然后进行赋值使用
附:DashStyle元数据,属性信息
踩过坑,有个记录。
关于System.Drawing.Image流C#的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于.net – System.Drawing(GDI)vs System.Windows.Media(WPF)vs Direct2D DirectWrite WIC、android – 为什么AVD Manager中缺少Intel x86 Atom System Image(API 15)、asp.net-mvc-3 – 在ASP.NET MVC 3视图中渲染System.Drawing.Image的最佳方法、C# Pen绘制虚线(System.Drawing.Pen与System.Windows.Media.Pen)的相关信息,请在本站寻找。
本文标签: