1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. //1366*768
  12. namespace PaintTest1
  13. {
  14. public partial class Form1 : Form
  15. {
  16. public Form1()
  17. {
  18. InitializeComponent();
  19. }
  20.  
  21. private void button1_Click(object sender, EventArgs e)
  22. {
  23. System.Random r = new System.Random();
  24. Graphics g;
  25. g = this.CreateGraphics();
  26. /* while(true)
  27. {
  28. int x1 = r.Next(0, 1366);
  29. int y1 = r.Next(0, 200);
  30. int x2 = x1;
  31. int y2 = y1 + r.Next(0, 400);
  32. for(int i=y1;i<=y2;i++)
  33. {
  34. Pen greenPen = new Pen(Color.Green, r.Next(1, 15));
  35. g.DrawLine(greenPen, x1, y1, x2, y2);
  36. }
  37. } */
  38. for (int i = 0; i < 5000; i++)
  39. {
  40. Pen whitePen = new Pen(Color.FromArgb(r.Next(0,255), r.Next(0,255), r.Next(0,255)),8);
  41. int x1 = r.Next(100,300);
  42. int y1 = r.Next(100, 500);
  43. int x2 = r.Next(100, 300);
  44. int y2 = r.Next(100, 500);
  45. // int x1 = 500;
  46. // int y1 = 500;
  47. // int x2 = i;
  48. // int y2 = 1000 * 1000 - i * i;
  49. g.DrawLine(whitePen, x1, y1, x2, y2);
  50.  
  51. }
  52. for (int i = 0; i < 5000; i++)
  53. {
  54. Pen whitePen = new Pen(Color.FromArgb(r.Next(0, 255), r.Next(0, 255), r.Next(0, 255)),9);
  55. int x1 = 500; //650-900
  56. int y1 = 300; //100-500
  57. int x2 = r.Next(400, 600);
  58. int y2 = r.Next(100, 500);
  59. // int x1 = 500;
  60. // int y1 = 500;
  61. // int x2 = i;
  62. // int y2 = 1000 * 1000 - i * i;
  63. g.DrawLine(whitePen, x1, y1, x2, y2);
  64.  
  65. }
  66. for (int i = 0; i < 5000; i++)
  67. {
  68. Pen whitePen = new Pen(Color.FromArgb(r.Next(0, 255), r.Next(0, 255), r.Next(0, 255)),10);
  69. int x1 = 900; //650-900
  70. int y1 = 100; //100-500
  71. int x2 = r.Next(700, 900);
  72. int y2 = r.Next(100, 500);
  73. // int x1 = 500;
  74. // int y1 = 500;
  75. // int x2 = i;
  76. // int y2 = 1000 * 1000 - i * i;
  77. g.DrawLine(whitePen, x1, y1, x2, y2);
  78.  
  79. }
  80. for (int i = 0; i < 5000; i++)
  81. {
  82. Pen whitePen = new Pen(Color.FromArgb(r.Next(0, 255), r.Next(0, 255), r.Next(0, 255)),11);
  83. int x1 = 1000; //650-900
  84. int y1 = 500; //100-500
  85. int x2 = r.Next(1000, 1200);
  86. int y2 = r.Next(100, 500);
  87. // int x1 = 500;
  88. // int y1 = 500;
  89. // int x2 = i;
  90. // int y2 = 1000 * 1000 - i * i;
  91. g.DrawLine(whitePen, x1, y1, x2, y2);
  92.  
  93. }
  94. for (int i = 0; i < 5000; i++)
  95. {
  96. Pen whitePen = new Pen(Color.FromArgb(r.Next(0, 255), r.Next(0, 255), r.Next(0, 255)),12);
  97. int x1 = r.Next(100,1200); ; //650-900
  98. int y1 = r.Next(600, 700); ; //100-500
  99. int x2 = r.Next(100, 1200);
  100. int y2 = r.Next(600, 700);
  101. // int x1 = 500;
  102. // int y1 = 500;
  103. // int x2 = i;
  104. // int y2 = 1000 * 1000 - i * i;
  105. g.DrawLine(whitePen, x1, y1, x2, y2);
  106.  
  107. }
  108. for (int i = 0; i < 5000; i++)
  109. {
  110. Pen whitePen = new Pen(Color.FromArgb(r.Next(0, 255), r.Next(0, 255), r.Next(0, 255)),r.Next(1,15));
  111. int x1 = r.Next(100, 1200); ; //650-900
  112. int y1 = r.Next(600, 700); ; //100-500
  113. int x2 = r.Next(100, 1200);
  114. int y2 = r.Next(600, 700);
  115. // int x1 = 500;
  116. // int y1 = 500;
  117. // int x2 = i;
  118. // int y2 = 1000 * 1000 - i * i;
  119. g.DrawLine(whitePen, x1, y1, x2, y2);
  120.  
  121. }
  122. }
  123. }
  124. }

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

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. 如何手写一款KOA的中间件来实现断点续传

    本文实现的断点续传只是我对断点续传的一个理解.其中有很多不完善的地方,仅仅是记录了一个我对断点续传一个实现过程.大家应该也会发现我用的都是一些H5的api,老得浏览器不会支持,以及我并未将跨域考虑入内 ...

  2. 启用Windows10的Linux子系统并安装图形界面

    前言 目前市面上的PC电脑主要运行着四大类系统,它们分别是微软的Windows.苹果的MacOS.Linux的发行版以及Unix类系统.其中Linux和Unix都是开源的,因此市面出现的众多基于Lin ...

  3. 使用 PHP + shell 生成 一键设置权限的脚本。

    linux 系统 支持PHP脚本一键设置环境.shell脚本一键设置环境.那么 我今天 使用 PHP  + shell 生成 一键设置权限的脚本. 举例子:linux服务器 一键配置discuz网站环 ...

  4. python3.x Day5 面向对象

    类:类是指:对具有相同属性的事物的抽象.蓝图.原型.在类中定义了这些事物都具备的属性和共同的方法. 对象:一个对象就是一个类实例化以后的实例,一个类必须经过实例化后才能在程序中被使用,一个类可以实例化 ...

  5. centos6 磁盘与文件系统管理

    一.磁盘管理 磁盘构成 1.圆形磁盘 2.磁盘读取头 3.机械手臂 4.主轴马达 运作原理 数据存储在具有磁性物质的圆形磁盘上,读写操作主要是通过机械手臂上的磁盘读取头来达成,实际运作时,主轴马达让磁 ...

  6. 23Spring使用JdbcTemplate和JdbcDaoSupport

    首先需要添加c3p0包和jdbc包 数据库: CREATE DATABASE IF NOT EXISTS `spring` /*!40100 DEFAULT CHARACTER SET utf8 */ ...

  7. 15Spring AOP基础

    为什么需要AOP? 先来看一段代码: package com.cn.spring.aop.helloworld; //加减乘除的接口类 public interface ArithmeticCalcu ...

  8. 《机器学习实战》-逻辑(Logistic)回归

    目录 Logistic 回归 本章内容 回归算法 Logistic 回归的一般过程 Logistic的优缺点 基于 Logistic 回归和 Sigmoid 函数的分类 Sigmoid 函数 Logi ...

  9. Qt 多语言支持

    简介 Qt 多语言支持很强大,很好用. 首先要强调的是程序中需要翻译的字符串最好都用 tr("message") 这种形式,这里的 "message" 就是需要 ...

  10. Python基础—线程、进程和协程

    今天已是学习Python的第十一天,来干一碗鸡汤继续今天的内容,今天的鸡汤是:超越别人对你的期望.本篇博客主要介绍以下几点内容: 线程的基本使用: 线程的锁机制: 生产者消费之模型(队列): 如何自定 ...