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 ...
随机推荐
- linux文件共享服务
linux文件共享配置 Windows访问linux 以下操作都在关闭防火墙和关闭selinux的环境下. 关闭防火墙的命令:service iptables stop关闭SELINUX命令:sete ...
- 九.配置SMB共享(Samba共享)
• Samba 软件项目 – 用途:为客户机提供共享使用的文件夹 – 协议:SMB(TCP 139).CIFS(TCP 445) • 所需软件包:samba • 系统服务:smb 管理共享账号 ...
- imp
imp 重载模块功能 from imp import reload 当在shell中使用一个模块,原始代码改了,要使用新的还得退出shell重新载入一次,这样的话原来的变量就都不在了 这时候可以使用i ...
- Python里面match()和search()的区别?
答:re模块中match(pattern,string[,flags]),检查string的开头是否与pattern匹配. re模块中research(pattern,string[,flags]), ...
- 使用Spring Ehcache二级缓存优化查询性能
最近在对系统进行优化的时候,发现有些查询查询效率比较慢,耗时比较长, 通过压测发现,主要耗费的性能 消耗在 查询数据库,查询redis 数据库:连接池有限,且单个查询不能消耗大量的连接池,占用大量IO ...
- sonar,jiar,xray,jenkins[cli] [sudoers]
curl -n -X POST http://52.83.39.59:8080'/job/CLA_SSO/buildWithParameters?token=11d710a8eac8012bea28b ...
- node.js 简易聊天室
效果图 首先开启server.js 打开服务器端,然后打开client.js,注册用户.打开一个注册一个用户,打开三个,注册三个用户. 接下来,小王发布一个广播消息,小李和小刘都收到了此消息. 接下来 ...
- MyBatis 与 Hibernate
MyBatis 是一个优秀的基于 Java 的持久层框架,它内部封装了 JDBC,使开发者只需关注 SQL 语句本身,而不用再花费精力去处理诸如注册驱动.创建 Connection.配置 Statem ...
- CRF 初步了解
国外有一个很著名的条件随机场的教程,是英文的,原文: http://blog.echen.me/2012/01/03/introduction-to-conditional-random-fields ...
- python 中的 [-1::1] 啥意思
取倒数第一个