c# 画板GDI+之Graphics类

首先了解一下这个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));
                    }
                }
            }
        }

 

特别详细的属性可以看这个文章https://www.cnblogs.com/vaevvaev/p/6925140.html

画各种形状 以及各种设置之类的。在这主要讲一下这个用途用法了解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值