C#中GDI绘制高质量平滑图形实例
protected override void OnPaint(PaintEventArgs e)
????????{
????????????try
????????????{
????????????????Graphics g = e.Graphics;//獲取繪制對象
????????????????///設置參數
????????????????g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; ?//圖片柔順模式選擇
????????????????g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;//高質量
????????????????g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;//再加一點
????????????????int topheight = 30;
????????????????//繪制Title標題 ----//填充區域
????????????????g.FillRectangle(new SolidBrush(Color.FromArgb(223, 221, 216)), 0, 0, Width, topheight);
????????????????繪制標題
????????????????int numw = (int)g.MeasureString("新建窗體", Font).Width;
????????????????int numh = (int)g.MeasureString("新建窗體", Font).Height;
????????????????g.DrawString("新建窗體", Font, new SolidBrush(Color.FromArgb(100, 99, 94)), new PointF(topheight, topheight / 2 - numh / 2));
????????????????//繪制窗體中間的文字
????????????????Font font = new Font(Font.FontFamily, 12, FontStyle.Bold);
????????????????int numx = (int)g.MeasureString(Text, font).Width;
????????????????int numy = (int)g.MeasureString(Text, font).Height;
????????????????g.DrawString(Text, font, new SolidBrush(Color.FromArgb(178, 34, 34)), new PointF(Width / 2 - numx / 2, topheight / 2 - numy / 2));
????????????????// g.DrawImage(Properties.Resources.logo128, 10, 8, 16, 16);
????????????}
????????????catch
????????????{
????????????????this.Invalidate();
????????????}
????????}
?
總結
以上是生活随笔為你收集整理的C#中GDI绘制高质量平滑图形实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: webpack 入门,说一下那些不入流的
- 下一篇: springCloud - 第5篇 -