• C#画百分比水平球图形


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Drawing.Drawing2D;

    namespace ReNamefolder
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    private int percentNum = 0;
    private void Form1_Paint(object sender, PaintEventArgs e)
    {
    PaintPercent(e.Graphics, percentNum);
    }

    public void PaintPercent(Graphics g, double valueY)
    {
    double temlX = doSomething(50, valueY); //开方获取x方向的距离
    double myRadians = Math.Atan2(valueY, temlX);
    // 把弧度单位转化为角度单位
    double myDegrees = myRadians * 180 / Math.PI;

    double starX = temlX;
    double starY = -valueY;


    double rotationNum = 180;
    rotationNum += myDegrees * 2;

    double startAngle = -myDegrees;

    SolidBrush redBrush123 = new SolidBrush(Color.Beige);
    g.FillEllipse(redBrush123, new Rectangle(0, 0, 100, 100));

    GraphicsPath path = new GraphicsPath();

    path.AddArc(0, 0, 100, 100, (float)startAngle, (float)rotationNum);
    SolidBrush redBrush = new SolidBrush(Color.Red);

    g.FillPath(redBrush, path);

    }


    private double doSomething(double rV, double hV)
    {
    return Math.Sqrt(Math.Pow(rV, 2) - Math.Pow(hV, 2));

    }

    private void trackBar1_Scroll(object sender, EventArgs e)
    {
    textBox1.Text = trackBar1.Value.ToString();


    percentNum = trackBar1.Value - 50;

    this.Refresh();
    }
    }
    }

  • 相关阅读:
    SynchronousQueue 的联想
    Spring Cache
    CSUOJ 1011 Counting Pixels
    CSUOJ 1973 给自己出题的小X DFS
    CSUOJ 1726 你经历过绝望吗?两次!BFS+优先队列
    CSUOJ 1900 锋芒不露
    CSUOJ 1808 地铁
    CSUOJ 1895 Apache is late again
    CSUOJ 1781 阶乘除法
    CSUOJ 1560 图书管理员的表白方式
  • 原文地址:https://www.cnblogs.com/orp1989/p/4214275.html
Copyright © 2020-2023  润新知