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. 洛谷——P2417 课程

    P2417 课程 裸地匈牙利算法, 贪心的不断匹配,若没匹配,则匹配:反之,判断与之匹配的点能否在找另一个点匹配,若能,抢多这个点与之匹配 时间复杂度$O(n\times m)$ #include&l ...

  2. idea搭建SSM的maven项目(tomcat容器)

    一.创建maven的web项目 (1)选择项目的骨架 (2)写项目的坐标 (3)maven的设置 设置maven的本地仓库,以及配置文件的位置,同时点击+号,填入archetypeCatalog和in ...

  3. jenkins构建项目记录2(tag)

    与jenkins构建项目记录1不同的是通过tag拉去对应版本代码 1.先安装创建(git parameter) 2.general设置 name可任意命名,下面源码管理设置时变量会引用到. 3.源码管 ...

  4. 零基础入门学习Python(18)--函数:灵活即强大

    前言 上一节课我们基本介绍Python函数的用法,这一节课我们主要针对函数的参数进行进一步的深入学习. 知识点 形参(parameter)和实参(argument) >>> def ...

  5. 【memcached】memcached中flags字段的作用

    我们一般只注意到memcached的数据结构是key,value,今天看memcached源代码的时候,盯上了flags,没看明白.后来问了一下同事,说PHP当中使用flags标记,标识memcach ...

  6. JavaScript中数据类型的转换规则

    JavaScript中数据类型的转换规则 制作人:全心全意 JavaScript是一种无类型语言,也就是说,在声明变量时无须指定数据类型,这使得JavaScript更具有灵活性和简单性. 在代码执行过 ...

  7. Windows下Eclipse+PyDev安装Python开发环境

    .简介 Eclipse是一款基于Java的可扩展开发平台.其官方下载中包括J2EE方向版本.Java方向版本.C/C++方向版本.移动应用方向版本等诸多版本.除此之外,Eclipse还可以通过安装插件 ...

  8. (dede)织梦系统二次开发笔记

    (dede)织梦系统二次开发记录 --soulsjie 一.模板常用文件说明 模板文件都在文件夹templets下,我们以默认模板(default)为例,对模板文件结构进行分析: 首页模板文件目录 \ ...

  9. Windows Server 2012 防火墙如何添加端口例外的方法(转)

    Windows Server 2012 防火墙如何添加端口例外的方法 Windows Server 2012 防火墙如何添加端口例外的方法 在Windows Server 2012系统中,如果用户想在 ...

  10. MT6755 平台手机皮套驱动实现

    是自己写注册一个input device,模仿keypad,在对应的中断处理函数中上报power key的键值. 具体实现代码如下: 在 alps/kernel-3.10/drivers/misc/m ...