c#窗体程序绘制简单心形
分析思路:

两个圆形和一个矩形如图叠加再逆时针旋转45°,就能得到一个极其简陋的心。
我们只需要将圆心放在矩形上边中点和右边中点即可。
代码如下:

private void button1_Click(object sender, EventArgs e)
{
//因为是在panel控件中绘制的,所以在panel中创建画布,这个看个人喜好
Graphics gh = panel1.CreateGraphics();//创建画布
Pen p = new Pen(Color.Red, );//创建画笔
SolidBrush sb = new SolidBrush(Color.Red);//创建一个上色用的刷子
int x=,y=,a=,h=a;//定义矩形的初始坐标,边长和高
gh.RotateTransform(-);//将画布逆时针旋转45度
gh.TranslateTransform(, );//将整体坐标向下移动200像素
gh.DrawRectangle(p,x,y,a,h);//使用画笔绘制矩形
gh.DrawEllipse(p, x + a / , y, a, h);//绘制第一个圆形
gh.DrawEllipse(p, x, y-h / , a, h);//绘制第二个圆形 //用刷子分别给三个图形上色
gh.FillRectangle(sb, x, y, a, h);
gh.FillEllipse(sb, x + a / , y, a, h);
gh.FillEllipse(sb, x, y - h / , a, h);
}
点击按钮进行绘制。
颜色可以自己修改,也可以绘制渐变色。闪人,跑路回宿舍,万一被锁在教学楼就尴尬了,哈哈。(可以加工加工给妹子看,但是过于简陋,所以有风险,三思后行。)
c#窗体程序绘制简单心形的更多相关文章
- 第一个VC++ win32程序 绘制简单图形
创建一个VC++ win32 打开VS 新工程类型中选择Win32----Win32 Project 自己取个名字(假如叫做My1stWin) 一路next 系统会自动生成好最基本的代码 然后我们 ...
- python小趣味_520绘制一个心形.
从某个公众号上看到的. 跑了一下, 居然可以成功运行. 有心的话可以研究下代码. 利用了turtle模块 #!/usr/bin/env python # coding:utf-8 import tur ...
- c语言心形告白代码实现
c语言心形告白代码实现 1.彩色告白 include<stdio.h> include<math.h> include<windows.h> include< ...
- CSS 魔法系列:纯 CSS 绘制图形(心形、六边形等)
<CSS 魔法系列>继续给大家带来 CSS 在网页中以及图形绘制中的使用.这篇文章给大家带来的是纯 CSS 绘制五角星.六角形.五边形.六边形.心形等等. 我们的网页因为 CSS 而呈现千 ...
- matlab绘制心形函数
matlab 7.0 绘制二维.三维心形函数 又到周六,下周就要迎来春节小长假了,想想都有些激动.在外漂了一整年,总于可以回家和父母团聚了,还有吃好吃的...,哎呀~想想都流口水呢.不过先 ...
- 【MFC】如何在MFC创建的程序中更改主窗口的属性 与 父窗口 WS_CLIPCHILDREN 样式 对子窗口刷新的影响 与 窗体区域绘制问题WS_CLIPCHILDREN与WS_CLIPSIBLINGS
如何在MFC创建的程序中更改主窗口的属性 摘自:http://blog.sina.com.cn/s/blog_4bebc4830100aq1m.html 在MFC创建的单文档界面中: (基于对话框的, ...
- 绘制n边形:用两个以上的控件来控制矩形的颜色、大小、位置及空实心(程序代写)
绘制n边形:用两个以上的控件来控制矩形的颜色.大小.位置及空实心.(n由键盘输入) package lzy.di9zhang; import java.awt.BorderLayout;import ...
- Android中利用画图类和线程画出闪烁的心形
本文讲解主要涉及的知识点: 1.线程控制 2.画图类 3.心形函数 大家先看图片: <ig ...
- 超多经典 canvas 实例,动态离子背景、移动炫彩小球、贪吃蛇、坦克大战、是男人就下100层、心形文字等等等
超多经典 canvas 实例 普及:<canvas> 元素用于在网页上绘制图形.这是一个图形容器,您可以控制其每一像素,必须使用脚本来绘制图形. 注意:IE 8 以及更早的版本不支持 &l ...
随机推荐
- 51nod 1565 模糊搜索 FFT
这...好强啊\(QwQ\) 思路:卷积?\(FFT\)? 提交:\(5\)次 错因:一开始的预处理写错了(竟然只错了最后几个大点)闹得我以为\(FFT\)写挂了\(QwQ\) 题解: 对四种字符分开 ...
- hive基础及系统架构
1.hive是什么 hive是建立在hadoop上的数据仓库,提供数据的提取.转化和加载. 2.hive的数据存储 1]hive的数据存储基于hdfs 2]存储结构主要包括:数据库.文件.表.索引.视 ...
- Linux文件系统属性权限chattr与lsattr命令
有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的linux ...
- [bzoj] Network
http://www.lydsy.com/JudgeOnline/problem.php?id=3732 /* Kruskal 最小生成树 树链剖分 最大值查询 注意:可能会有几块不联通的图 */ # ...
- P/NP问题
目录 P NP NPC NPH 写在开头 1.多项式 如公式:y = axn-bxn-1+c.Ο(log2n).Ο(n). Ο(nlog2n).Ο(n2)和Ο(n3)称为多项式时间.Ο(2n)和Ο(n ...
- 安装less/sass
安装sass npm i node-sass 安装wepy-compiler-sass插件 npm install wepy-compiler-sass --save-dev 在我的项目中使用才有用.
- Codeforces 1175G Yet Another Partiton Problem [DP,李超线段树]
Codeforces 思路 首先吐槽一句:partiton是个什么东西?我好像在百度翻译里面搜不到呀qwq 发现不了什么性质,那就直接上DP吧.注意到DP可以分层,所以设\(dp_i\)表示当前层,分 ...
- linux桌面发行版简介
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/linux_desktop_distribution linux系 ...
- GB∕T 35658平台过检 已通过最新的部标JT/T 808-2019, JT/T 809-2019标准检测
2019年交通部GPS平台检测标准发生了重大变化, 原来的796平台功能标准, 变更为GB/T35658标准, 这个标准其实2017年就公布了, 实际上还是796标准, 但是检测项目,以前是可选的, ...
- CF1174E Ehab and the Expected GCD Problem(动规+数论+分解)
做法 先来填第一个数,为了保证\(f(p)\)最大,第一个数分解一下为\(\prod\limits_{p_i}p_i^{k_i}\)使得\(\sum\limits_{k_i}\)最大 显然第一个数为\ ...