zoukankan      html  css  js  c++  java
  • 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();
    }
    }
    }

  • 相关阅读:
    luogu P2685 [USACO07OPEN]抓牛Catch That Cow
    codevs 2021 中庸之道
    1018. 锤子剪刀布 (20)
    1017. A除以B (20)
    1016. 部分A+B (15)
    1013. 数素数 (20)
    1011. A+B和C (15)
    《C语言程序设计(第四版)》阅读心得(三)
    《C语言程序设计(第四版)》阅读心得(二)
    1008. 数组元素循环右移问题 (20)
  • 原文地址:https://www.cnblogs.com/orp1989/p/4214275.html
Copyright © 2011-2022 走看看