using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; //1366*768
namespace PaintTest1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
System.Random r = new System.Random();
Graphics g;
g = this.CreateGraphics();
/* while(true)
{
int x1 = r.Next(0, 1366);
int y1 = r.Next(0, 200);
int x2 = x1;
int y2 = y1 + r.Next(0, 400);
for(int i=y1;i<=y2;i++)
{
Pen greenPen = new Pen(Color.Green, r.Next(1, 15));
g.DrawLine(greenPen, x1, y1, x2, y2);
}
} */
for (int i = 0; i < 5000; i++)
{
Pen whitePen = new Pen(Color.FromArgb(r.Next(0,255), r.Next(0,255), r.Next(0,255)),8);
int x1 = r.Next(100,300);
int y1 = r.Next(100, 500);
int x2 = r.Next(100, 300);
int y2 = r.Next(100, 500);
// int x1 = 500;
// int y1 = 500;
// int x2 = i;
// int y2 = 1000 * 1000 - i * i;
g.DrawLine(whitePen, x1, y1, x2, y2); }
for (int i = 0; i < 5000; i++)
{
Pen whitePen = new Pen(Color.FromArgb(r.Next(0, 255), r.Next(0, 255), r.Next(0, 255)),9);
int x1 = 500; //650-900
int y1 = 300; //100-500
int x2 = r.Next(400, 600);
int y2 = r.Next(100, 500);
// int x1 = 500;
// int y1 = 500;
// int x2 = i;
// int y2 = 1000 * 1000 - i * i;
g.DrawLine(whitePen, x1, y1, x2, y2); }
for (int i = 0; i < 5000; i++)
{
Pen whitePen = new Pen(Color.FromArgb(r.Next(0, 255), r.Next(0, 255), r.Next(0, 255)),10);
int x1 = 900; //650-900
int y1 = 100; //100-500
int x2 = r.Next(700, 900);
int y2 = r.Next(100, 500);
// int x1 = 500;
// int y1 = 500;
// int x2 = i;
// int y2 = 1000 * 1000 - i * i;
g.DrawLine(whitePen, x1, y1, x2, y2); }
for (int i = 0; i < 5000; i++)
{
Pen whitePen = new Pen(Color.FromArgb(r.Next(0, 255), r.Next(0, 255), r.Next(0, 255)),11);
int x1 = 1000; //650-900
int y1 = 500; //100-500
int x2 = r.Next(1000, 1200);
int y2 = r.Next(100, 500);
// int x1 = 500;
// int y1 = 500;
// int x2 = i;
// int y2 = 1000 * 1000 - i * i;
g.DrawLine(whitePen, x1, y1, x2, y2); }
for (int i = 0; i < 5000; i++)
{
Pen whitePen = new Pen(Color.FromArgb(r.Next(0, 255), r.Next(0, 255), r.Next(0, 255)),12);
int x1 = r.Next(100,1200); ; //650-900
int y1 = r.Next(600, 700); ; //100-500
int x2 = r.Next(100, 1200);
int y2 = r.Next(600, 700);
// int x1 = 500;
// int y1 = 500;
// int x2 = i;
// int y2 = 1000 * 1000 - i * i;
g.DrawLine(whitePen, x1, y1, x2, y2); }
for (int i = 0; i < 5000; i++)
{
Pen whitePen = new Pen(Color.FromArgb(r.Next(0, 255), r.Next(0, 255), r.Next(0, 255)),r.Next(1,15));
int x1 = r.Next(100, 1200); ; //650-900
int y1 = r.Next(600, 700); ; //100-500
int x2 = r.Next(100, 1200);
int y2 = r.Next(600, 700);
// int x1 = 500;
// int y1 = 500;
// int x2 = i;
// int y2 = 1000 * 1000 - i * i;
g.DrawLine(whitePen, x1, y1, x2, y2); }
}
}
}

效果图<这是一种动态的画图,效果还行,以下将改为数字雨的模式測试,相关算法正在调试.

C#.NEt-GDI+中的Pen測试的更多相关文章

  1. js中window.onload 与 jquery中$(document.ready()) 測试

    js中window.onload 与 jquery中$(document.ready())差别,验证代码例如以下(调换js代码和Jquer代码书写顺序測试.执行结果一样.因此与代码书写位置没关系): ...

  2. PHP 使用Apache 中的ab 測试站点的压力性能

    打开Apacheserver的安装路径(我用的是 WampServer),在bin文件夹中有一个ab.exe的可运行程序,它就是要介绍的压力測试工具. watermark/2/text/aHR0cDo ...

  3. 单元測试中 Right-BICEP 和 CORRECT

    My Blog:http://www.outflush.com/ 在单元測试中,有6个总结出的值得測试的方面,这6个方面统称为 Right-BICEP.通过这6个方面的指导.能够较全然的測试出代码中的 ...

  4. SWTBOK測试实践系列(5) -- 项目中使用手动和自己主动化的策略

    手动測试和自己主动化測试永远是一个非常热门的话题.自己主动化也一直被人们捧上神坛.自己主动化測试和手动測试从技术上来说本质事实上都是測试用例设计.仅仅只是终于形式一个是人工运行,一个是代码运行罢了.这 ...

  5. 软件測试、ios中的測试概念以及步骤

    软件測试: 软件測试的目标是应该服务于软件项目的目标,能够通过建议反馈使用更加高效的方法和工具,提升软件开发效率以及软件开发质量.同一时候还能够通过过一些手段,更早.更快.很多其它地发现缺陷.从容减少 ...

  6. Maven项目中mvn clean后找不到測试类问题

    在Maven项目中进行单元測试,但mvn clean后又一次mvn install项目,再次进行单元測试.会有下面的错误. <span style="font-family:KaiTi ...

  7. [WebGL入门]十九,遮挡剔除和深度測试

    注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中假设有我的额外说明,我会加上[lufy:],另外.鄙人webgl研究还不够深入,一些专业词语,假设翻译有误.欢迎大家指 ...

  8. Android单元測试之JUnit

    随着近期几年測试方面的工作慢慢火热起来.常常看见有招聘測试project师的招聘信息.在Java中有单元測试这么一个JUnit 方式,Android眼下主要编写的语言是Java,所以在Android开 ...

  9. php单元測试

    你是否在程序开发的过程中遇到下面的情况:当你花了非常长的时间开发一个应用后,你觉得应该是大功告成了,可惜在调试的时候,老是不断的发现bug,并且最可怕的是,这些bug是反复出现的,你可能发现这些bug ...

随机推荐

  1. No-2.注释

    01. 注释的作用 使用用自己熟悉的语言,在程序中对某些代码进行标注说明,增强程序的可读性 02. 单行注释(行注释) 以 # 开头,# 右边的所有东西都被当做说明文字,而不是真正要执行的程序,只起到 ...

  2. rem怎么算

    * rem : html根标签的 font-size决定* em 相对于父标签的font-size 决定的* 设计稿的宽一般都是 750px ---> 20px* 750px 1rem = 10 ...

  3. error trying to exec 'cc1plus': execvp: 没有那个文件或目录

    出现这个问题,有两种可能: 第一,你没有安装g++ 第二,你的gcc的版本和g++版本不相符合 安装gcc和g++及一些依赖包 sudo apt-get install build-essential ...

  4. mysql常用命令用法

    Mysql帮助文档地址:http://dev.mysql.com/doc/ 1.创建数据库: create database database_name; 2.选择数据库: use database_ ...

  5. IDEA常用插件记录

    让我们来记录一下常用的IDEA插件:(从其他博客中取了许多图片,出处见图片水印) 1.JRebel for IntelliJ 热部署神器2.Free MyBatis plugin 实现dao层方法与x ...

  6. JavaScript编程那些事(牛客网 LeetCode)

    计算给定数组 arr 中所有元素的总和 本人提供常规方法 function sum(arr) { var len = arr.length; var sum = 0; if(len == 0){ su ...

  7. 【Objective-C】07-自定义构造方法和description方法

    在第5讲中已经介绍了如何定义类和创建并初始化对象,比如有Student这个类 1.Student.h 1 #import <Foundation/Foundation.h> 2 3 @in ...

  8. MySQL中间件之ProxySQL_读写分离/查询重写配置

    MySQL中间件之ProxySQL_读写分离/查询重写配置 Posted on 2016-12-25 by mark blue, mark Leave a comment MySQL 1.闲扯几句 读 ...

  9. PowerDesigner物理模型用法总结

    1.  生成sql脚本 Database→Generate Database 选择要输出的文件路径,即文件存储路径,并根据需要修改文件名,单击确定后便会生成sql脚本. 在Options选项卡里,可以 ...

  10. 【进击后端】mongodb入门

    环境:ubuntu 重要字:数据库,集合,记录,字段 api地址:https://docs.mongodb.com/manual/reference/method/db.collection.upda ...