首先了解一下这个Graphics东西
总体来说画东西 就是先 画布 然后画笔 去画形状 用什么字体 什么颜色 画的位置 画的内容
下面是自己写的一个简单列子:
方法画出来,然后保存画板成img的这样一个文件。然后前台显示的时候其实是显示出来的一张图片。为了方便复制
画出来大概是这个样子
然后页面用 方法返回的img 直接放到src属性中
<img src="@Url.Action("GenerateLabel", new { TourOrderId = ViewBag.TourOrderId })" />
就如图片展示出来了
接下来是画出来的方法
过程如下:
创建文件-创建画布Bitmap-创建画笔Graphics -设置字体font-设置颜色Brushes-画笔设置-画矩形边框-画里面字符内容
保存画布-返回文件
public FileContentResult GenerateLabel(Int32 tourOrderId)
{
using (var memory = new MemoryStream())
{
using (var bitmap = new Bitmap(500, 200))
{
using (var graphics = Graphics.FromImage(bitmap))
{
Font font = new Font("Arial", 10, FontStyle.Bold);
graphics.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
graphics.SmoothingMode = SmoothingMode.AntiAlias;
graphics.FillRectangle(Brushes.White, new Rectangle(0, 0, bitmap.Width, bitmap.Height));
graphics.DrawString(
RZ_CommonFunction.GetNewName((tourOrder.ShippingAddress.LastName + " / " + tourOrder.ShippingAddress.FirstName), 3), font,
Brushes.Black, 10, 20);
String addressStr = tourOrder.ShippingAddress.AddressLine1;
graphics.DrawString(addressStr, font, Brushes.Black, 10, 60);
graphics.DrawString("Company Name: " + tourOrder.ShippingAddress.CompanyName, font, Brushes.Black, 10,
120);
graphics.DrawString("Agent Name: " + tourOrder.ShippingAddress.AgentName, font, Brushes.Black, 10,
140);
graphics.DrawRectangle(new Pen(Color.Black), 0, 0, bitmap.Width - 1, bitmap.Height - 1);
bitmap.Save(memory, ImageFormat.Gif);
return File(memory.GetBuffer(), "image/gif",
String.Format("{0} shipping label.gif", tourOrder.ConfirmationId));
}
}
}
}
特别详细的属性可以看这个文章C# Graphics类详解 - 君莫笑·秋 - 博客园
画各种形状 以及各种设置之类的。在这主要讲一下这个用途用法了解。