c# 图片加文字,横线,圆

 var imgPath = Path.Combine(AppContext.BaseDirectory, "Pic/style_02.png");
            FileStream fs = new FileStream(imgPath, FileMode.Open);

            System.Drawing.Image imgPhoto = System.Drawing.Image.FromStream(fs);
            int imgPhotoWidth = imgPhoto.Width;
            int imgPhotoHeight = imgPhoto.Height;
            Bitmap bmPhoto = new Bitmap(imgPhotoWidth, imgPhotoHeight, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
            bmPhoto.SetResolution(72, 72);
            Graphics gbmPhoto = Graphics.FromImage(bmPhoto);
            gbmPhoto.DrawImage(imgPhoto, new Rectangle(0, 0, imgPhotoWidth, imgPhotoHeight), 0, 0, imgPhotoWidth, imgPhotoHeight, GraphicsUnit.Pixel);
            //gbmPhoto.DrawString("10", new Font("微软雅黑", 120), new SolidBrush(Color.White), new PointF(25, 0));
            gbmPhoto.DrawString("10", new Font("微软雅黑", 120), new SolidBrush(Color.White),new  RectangleF(25, 0, 0, 0));
            gbmPhoto.DrawString("麦当劳优惠券", new Font("黑体", 42), new SolidBrush(Color.White), new RectangleF(160, 40,0,0));
            gbmPhoto.DrawString("订单满199使用", new Font("黑体", 34), new SolidBrush(Color.White), new RectangleF(160, 96,0,0));
            //gbmPhoto.DrawString("使用说明:本优惠券仅限中国大陆地区售卖优
惠券内产品的麦当劳餐厅使用,机场。", new Font("黑体", 18), new SolidBrush(Color.White), new PointF(25, 160));
            gbmPhoto.DrawString("使用说明:本优惠券仅限中国大陆地区售卖优惠券内产品的麦当劳餐厅使用,机场。", new Font("黑体", 18), new SolidBrush(Color.White), new RectangleF(25, 160, 380, 100));//
            gbmPhoto.FillRectangle(new SolidBrush(Color.FromArgb(255,180,100)), 32, 282, 379, 40);
            gbmPhoto.DrawString("活动时间:6月30日到7月18日", new Font("黑体", 26), new SolidBrush(Color.FromArgb(94,55,29)), new RectangleF(48, 290,0,0));
            //Pen pen = new Pen(Color.ForestGreen, 3); 画横线
            //pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
            //pen.DashPattern = new float[] { 2, 2 };
            //gbmPhoto.DrawLine(pen,435,15, 435, 350);

            Brush bush = new SolidBrush(Color.White);//填充的bai颜色
            for (int i = 0; i < 34; i++)
            {
                gbmPhoto.FillEllipse(bush, 435, 13+(i*10), 4, 4);
            }
            MemoryStream ms = new MemoryStream();
            bmPhoto.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
            fs.Close();
            ms.Close();
            return new FileContentResult(ms.GetBuffer(), "image/jpeg");

  

原文地址:https://www.cnblogs.com/lkd3063601/p/13560188.html