• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    asp.net实现C#绘制太极图的方法

    本文实例讲述了asp.net实现C#绘制太极图的方法。分享给大家供大家参考。具体如下:

    成品图如下所示:

    html页面:

    注意设置:

    复制代码 代码如下:
    ContentType="Image/Jpeg"

    复制代码 代码如下:
    %@ Page Language="C#" AutoEventWireup="true" CodeFile="TaiJiTu.aspx.cs" Inherits="TaiJiTu" ContentType="Image/Jpeg" %>
    !DOCTYPE html> 
    html xmlns="http://www.w3.org/1999/xhtml"> 
    head runat="server"> 
    meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
        title>/title> 
    /head> 
    body> 
        form id="form1" runat="server"> 
        div> 
        /div> 
        /form> 
    /body> 
    /html>

    后台代码:

    复制代码 代码如下:
    using System; 
    using System.Drawing; 
    using System.Drawing.Drawing2D; 
    using System.Drawing.Imaging; 
     
    public partial class TaiJiTu : System.Web.UI.Page 

        private Encoder myEncoder; 
        private EncoderParameter myEncoderParameter; 
        private EncoderParameters myEncoderParameters; 
        protected void Page_Load(object sender, EventArgs e) 
        { 
            int imgWidth = 400;                 //图象尺寸 
            int eyeRadius = imgWidth / 20;      //鱼眼半径 
            int headDiameter = imgWidth / 2;    //鱼头直径 
     
            Bitmap image = new Bitmap(imgWidth, imgWidth); 
            image.SetResolution(300, 300); 
     
            Graphics graphics = Graphics.FromImage(image); 
     
            //设置图像质量 
            graphics.CompositingQuality = CompositingQuality.HighQuality; 
            graphics.SmoothingMode = SmoothingMode.AntiAlias; 
            graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;

            //底色填充为白色 
            Brush white = new SolidBrush(Color.White); 
            graphics.FillRectangle(white, new Rectangle(0, 0, imgWidth, imgWidth));

            Brush blue = new SolidBrush(Color.Blue);//定义蓝色笔刷 
            Brush red = new SolidBrush(Color.Red);//定义红色笔刷 

            //整个圆形填充蓝色 
            graphics.FillPie(blue, 0, 0, imgWidth, imgWidth, 0, 360); 
     
            //定义右边的路径(红色部分) 
            GraphicsPath redPath = new GraphicsPath();//初始化路径 
            redPath.AddArc(0, 0, imgWidth, imgWidth, 0, -180); 
            redPath.AddArc(0, headDiameter / 2, headDiameter, headDiameter, 0, -180); 
            redPath.AddArc(headDiameter, headDiameter / 2, headDiameter, headDiameter, 0, 180);
            //填充右边部分 
            graphics.FillPath(red, redPath);
            //填充红色眼睛 
            graphics.FillPie(red, new Rectangle(headDiameter / 2 - eyeRadius, headDiameter - eyeRadius, eyeRadius * 2, eyeRadius * 2), 0, 360);
            //填充蓝色眼睛 
            graphics.FillPie(blue, new Rectangle(headDiameter + headDiameter / 2 - eyeRadius, headDiameter - eyeRadius, eyeRadius * 2, eyeRadius * 2), 0, 360); 

            graphics.Dispose(); 

            //写入到Response输出流中去,普通质量 
            //image.Save(Response.OutputStream, ImageFormat.Jpeg); 

            //修改图片保存质量 
            ImageCodecInfo myImageCodecInfo = GetEncoder(ImageFormat.Jpeg); 
            myEncoder = Encoder.Quality; 
            myEncoderParameters = new EncoderParameters(1); 
            //图片质量等级 
            myEncoderParameter = new EncoderParameter(myEncoder, 100L); 
            myEncoderParameters.Param[0] = myEncoderParameter; 
     
            //使用指定参数输出 
            image.Save(Response.OutputStream, myImageCodecInfo, myEncoderParameters); 
        } 
        private static ImageCodecInfo GetEncoder(ImageFormat format) 
        { 
            ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders(); 
     
            foreach (ImageCodecInfo codec in codecs) 
            { 
                if (codec.FormatID == format.Guid) 
                { 
                    return codec; 
                } 
            } 
            return null; 
        } 
    }

    希望本文所述对大家的C#程序设计有所帮助。

    您可能感兴趣的文章:
    • Android 画一个太极图实例代码
    • JS实现太极旋转思路分析
    • C++俄罗斯方块游戏 无需图形库的俄罗斯方块
    • c语言10个经典小程序
    • C语言字符串操作总结大全(超详细)
    • C语言程序设计50例(经典收藏)
    • C语言文件操作函数大全(超详细)
    • C语言/C++中如何产生随机数
    • c语言字符数组与字符串的使用详解
    • 利用C语言的Cairo图形库绘制太极图实例教程
    上一篇:.Net中实现无限分类的2个例子
    下一篇:Asp.NET调用百度翻译的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    asp.net实现C#绘制太极图的方法 asp.net,实现,绘制,太极图,