亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#自定義簽名章實現方法

2020-01-24 01:30:46
字體:
來源:轉載
供稿:網友

本文實例講述了C#自定義簽名章實現方法。分享給大家供大家參考。具體實現方法如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Drawing;using System.Drawing.Imaging;using System.Drawing.Drawing2D;namespace WfpApp{ public class DrawCachet {  /// <summary>  /// 自定義橢圓形簽名章  /// </summary>  /// <param name="Width">寬度,畫出的簽名章只有這寬度的一半</param>  /// <param name="Height">高度,畫出的簽名章只有這高度的一半</param>  /// <param name="test">簽名章上名字</param>  /// <param name="IsRotate">簽名章是否旋轉角度</param>  /// <param name="angle">旋轉角度的大小</param>  /// <returns></returns>  public static Bitmap GetDrawCircleCachet(int Width, int Height, string test, bool IsRotate, int angle)  {   //記錄圓畫筆的粗細    int Circle_Brush = 2;   //畫布   Bitmap bitmap = new Bitmap(Width, Height);   //定義字符串的樣式    Font var_Font = new Font("Arial", 13, FontStyle.Bold);   //定義一個矩形 ,設置圓的繪制區    Rectangle rect = new Rectangle(10, 10, Width / 2, Height / 2);   //實例化Graphic類    Graphics g = System.Drawing.Graphics.FromImage(bitmap);   //消除繪制圖形的鋸齒,平滑   g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;   //以白色清空panelCachet畫布背景    g.Clear(Color.White);   //設置畫筆的顏色   Pen mypen = new Pen(Color.Red, Circle_Brush);   //繪制圓    g.DrawEllipse(mypen, rect);   //設置文字的字體樣式    Font star_Font = new Font("Arial", 12, FontStyle.Regular);   //對字符串進行寬度和長度測量    SizeF var_Size = g.MeasureString(test, star_Font);   float CircleZjW = rect.Width + 2 * Circle_Brush;   float CircleZJH = rect.Height + 2 * Circle_Brush;   float x = (CircleZjW - var_Size.Width) / 2F + rect.X;   float y = (CircleZJH - var_Size.Height) / 2F + rect.Y;   //在指定的位置繪制文字   g.DrawString(test, star_Font, mypen.Brush, new PointF(x, y));   if (IsRotate)    bitmap = Rotate(bitmap, angle);   return bitmap;  }  /// <summary>  /// 自定義矩形簽名章  /// </summary>  /// <param name="width">寬度,畫出的簽名章只有這寬度的一半</param>  /// <param name="height">高度,畫出的簽名章只有這高度的一半</param>  /// <param name="name">簽名章上名字</param>  /// <param name="IsRotate">簽名章是否旋轉角度</param>  /// <param name="angle">旋轉角度的大小</param>  /// <returns></returns>  public static Bitmap GetDrawRectangle(int width, int height, string name, bool IsRotate, int angle)  {   //記錄圓畫筆的粗細    int Circle_Brush = 2;   //畫布   Bitmap bitmap = new Bitmap(width, height);   //定義字符串的樣式    Font var_Font = new Font("Arial", 13, FontStyle.Bold);   //定義一個矩形 ,設置圓的繪制區    Rectangle rect = new Rectangle(10, 10, width / 2, height / 2);   //實例化Graphic類    Graphics g = System.Drawing.Graphics.FromImage(bitmap);   //消除繪制圖形的鋸齒,平滑   g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;   //以白色清空panelCachet畫布背景    g.Clear(Color.White);   //設置畫筆的顏色   Pen mypen = new Pen(Color.Red, Circle_Brush);   //繪制圓    g.DrawRectangle(mypen, rect);   //設置文字的字體樣式    Font star_Font = new Font("Arial", 12, FontStyle.Regular);   //對字符串進行寬度和長度測量    SizeF var_Size = g.MeasureString(name, star_Font);   float CircleZjW = rect.Width + 2 * Circle_Brush;   float CircleZJH = rect.Height + 2 * Circle_Brush;   float x = (CircleZjW - var_Size.Width) / 2F + rect.X;   float y = (CircleZJH - var_Size.Height) / 2F + rect.Y;   //在指定的位置繪制文字   g.DrawString(name, star_Font, mypen.Brush, new PointF(x, y));   if (IsRotate)    bitmap = Rotate(bitmap, angle);   return bitmap;  }  /// <summary>  /// 簽名章旋轉  /// </summary>  /// <param name="b">Bitmap圖章</param>  /// <param name="angle">旋轉度</param>  /// <returns></returns>  static Bitmap Rotate(Bitmap b, int angle)  {   angle = angle % 360;   //弧度轉換   double radian = angle * Math.PI / 180.0;   double cos = Math.Cos(radian);   double sin = Math.Sin(radian);   //原圖的寬和高   int w = b.Width;   int h = b.Height;   int W = (int)(Math.Max(Math.Abs(w * cos - h * sin), Math.Abs(w * cos + h * sin)));   int H = (int)(Math.Max(Math.Abs(w * sin - h * cos), Math.Abs(w * sin + h * cos)));   //目標位圖   Bitmap dsImage = new Bitmap(W, H);   System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(dsImage);   g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Bilinear;   g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;   //計算偏移量   Point Offset = new Point((W - w) / 2, (H - h) / 2);   //構造圖像顯示區域:讓圖像的中心與窗口的中心點一致   Rectangle rect = new Rectangle(Offset.X, Offset.Y, w, h);   Point center = new Point(rect.X + rect.Width / 2, rect.Y + rect.Height / 2);   g.TranslateTransform(center.X, center.Y);   g.RotateTransform(360 - angle);   //恢復圖像在水平和垂直方向的平移   g.TranslateTransform(-center.X, -center.Y);   g.DrawImage(b, rect);   //重至繪圖的所有變換   g.ResetTransform();   g.Save();   g.Dispose();   //dsImage.Save("yuancd.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);   return dsImage;  } }}

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕精品久久| 久久久电影免费观看完整版| 国产精品美女www爽爽爽视频| 九九热这里只有在线精品视| 亚洲专区国产精品| 欧美电影免费观看大全| 日本精品久久中文字幕佐佐木| 欧美日韩在线视频观看| 国产精品69精品一区二区三区| 国产一区二区视频在线观看| 日韩av中文字幕在线播放| 日韩在线中文字幕| 国产女同一区二区| 国产精品高清在线| 久久精品久久久久久国产 免费| 欧美最猛性xxxxx(亚洲精品)| 国产精品私拍pans大尺度在线| 在线观看欧美视频| 日韩激情片免费| 91精品综合久久久久久五月天| 久久夜精品va视频免费观看| 日韩日本欧美亚洲| 日韩成人在线免费观看| 国产视频999| 在线性视频日韩欧美| 国产一区二区三区视频在线观看| 55夜色66夜色国产精品视频| 日韩精品免费在线观看| 中文字幕国产亚洲2019| 欧美在线欧美在线| 国产成人黄色av| 日韩有码片在线观看| 亚洲黄色有码视频| 91美女片黄在线观| 国产一区视频在线| 91av福利视频| 精品国产依人香蕉在线精品| 伊人久久免费视频| 成人网在线免费观看| 久久久999成人| 国产一区二区三区直播精品电影| 国产精品久久久久一区二区| 成人久久精品视频| 亚洲一区二区三区xxx视频| 国产亚洲成av人片在线观看桃| 亚洲第一区第二区| 久久国产精品首页| 精品视频中文字幕| 黄色精品在线看| 精品国产欧美一区二区三区成人| 欧美日韩在线另类| 欧美日本啪啪无遮挡网站| 68精品国产免费久久久久久婷婷| 不卡av电影在线观看| 国产精品精品国产| 欧美激情aaaa| 国产乱人伦真实精品视频| 亚洲美女动态图120秒| 精品成人国产在线观看男人呻吟| 伊人久久五月天| 51午夜精品视频| 欧美激情18p| 欧美性高潮床叫视频| 精品无人国产偷自产在线| 正在播放国产一区| 国产91热爆ts人妖在线| 国产精品久久久久久av下载红粉| 黑人巨大精品欧美一区二区三区| 91精品啪aⅴ在线观看国产| 精品偷拍各种wc美女嘘嘘| 欧美激情免费视频| 中文字幕亚洲色图| 欧美国产中文字幕| 欧美黑人视频一区| 精品色蜜蜜精品视频在线观看| 深夜福利国产精品| 国产成人精品日本亚洲专区61| 国产mv免费观看入口亚洲| 疯狂欧美牲乱大交777| 亚洲欧美日韩一区二区在线| 国产精品99导航| 国产精品日韩欧美综合| 亚洲欧洲黄色网| 啪一啪鲁一鲁2019在线视频| 亚洲成人精品视频在线观看| 国产一区玩具在线观看| 亚洲电影免费观看高清完整版| 日韩欧美精品免费在线| 91国偷自产一区二区三区的观看方式| 亚洲精品美女久久久| 日韩精品免费在线视频| 亚洲天堂一区二区三区| 国产精品第10页| 亚洲乱亚洲乱妇无码| 亚洲欧美综合另类中字| 日韩视频免费看| 国产精品影院在线观看| 国产91精品在线播放| 精品亚洲永久免费精品| 国产午夜精品久久久| 亚洲欧洲成视频免费观看| 最近中文字幕mv在线一区二区三区四区| 丝袜美腿精品国产二区| 亚洲色图av在线| 亚洲天堂成人在线视频| 亚洲肉体裸体xxxx137| 日本久久久久久久久| 亚洲男人天堂久| 国产精品女视频| 国产日韩欧美视频在线| 久久久99免费视频| 久久久久中文字幕| 欧美大片在线影院| 亚洲国产精品高清久久久| 中文字幕亚洲欧美日韩2019| 欧美日韩一区免费| 国产视频精品xxxx| 亚洲精品国产欧美| 国产精品黄色av| 欧美另类高清videos| 亚洲欧美精品一区| 色综合久久88| 国产69久久精品成人| 成人午夜激情免费视频| 欧美整片在线观看| 亚洲网址你懂得| 精品国产欧美一区二区五十路| 91色在线视频| 国产精品久久久91| 久久久91精品国产一区不卡| 亚洲天堂免费视频| 日韩在线观看免费av| 91国产高清在线| 国产精品视频免费在线| 中文字幕日韩欧美精品在线观看| 欧美中文字幕视频| 午夜精品福利在线观看| 日韩精品在线视频| 日韩**中文字幕毛片| 日韩视频精品在线| 在线日韩欧美视频| 国产精品高清免费在线观看| 在线看日韩av| 91在线无精精品一区二区| 精品亚洲精品福利线在观看| 亚洲欧美中文日韩在线v日本| 亚洲欧洲视频在线| 欧美日韩精品在线视频| 欧美与黑人午夜性猛交久久久| 国产亚洲欧美aaaa| 亚洲国产精品人久久电影| 日产日韩在线亚洲欧美| 欧美激情视频一区| 国产精品久久91| 国产精品444| 国产成人精品久久久| 久久影院资源站| 97精品久久久中文字幕免费| 国产成人精彩在线视频九色| 九九热这里只有在线精品视| 亚洲无亚洲人成网站77777| 亚洲片在线资源| 国产+成+人+亚洲欧洲| 亚洲999一在线观看www|