应一位网友之邀破解某网站验证码,于是写个小测试程序热热手。
本小程序功能:在图片上取某一点的颜色
主要代码如下:
using
System;
using System.Diagnostics;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using bitmapTest.Properties;
namespace bitmapTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Bitmap myBitmap;
int cmd = 0 ;
private void Form1_Load( object sender, EventArgs e)
{
pictureBox1.Image = Resources.bfq0002;
myBitmap = (Bitmap)pictureBox1.Image;
}
/// <summary>
/// 鼠标取色(移动)
/// </summary>
private void pictureBox1_MouseMove( object sender, MouseEventArgs e)
{
int mouseX = e.X;
int mouseY = e.Y;
txtPoint.Text = " ( " + mouseX + " , " + mouseY + " ) " ;
if (rbtmutil.Checked)
{
// 取色
try
{
Color pixelColor = myBitmap.GetPixel(mouseX, mouseY);
colorbox.BackColor = pixelColor;
txtColorValue.Text = System.Drawing.ColorTranslator.ToHtml(pixelColor);
}
catch
{ }
}
// 命令
switch (cmd)
{
case 1 : // 画线
SolidBrush pixelBrush = new SolidBrush(Color.Red);
Graphics g = Graphics.FromImage(myBitmap);
g.FillRectangle(pixelBrush, mouseX, mouseY, 2 , 2 );
pictureBox1.Image = myBitmap;
break ;
case 2 :
break ;
default :
break ;
}
}
/// <summary>
/// 画笔
/// </summary>
private void btnpen1_Click( object sender, EventArgs e)
{
if (cmd == 1 )
{
cmd = 0 ;
btnpen1.Image = Resources.png_05252;
this .toolTip1.SetToolTip( this .btnpen1, " 单击使用画笔 " );
}
else
{
cmd = 1 ;
btnpen1.Image = Resources.png_05253;
this .toolTip1.SetToolTip( this .btnpen1, " 单击禁用画笔 " );
}
}
/// <summary>
/// 恢复
/// </summary>
private void button1_Click( object sender, EventArgs e)
{
pictureBox1.Image = Resources.bfq0002;
myBitmap = (Bitmap)pictureBox1.Image;
}
/// <summary>
/// 鼠标取色(单击)
/// </summary>
private void pictureBox1_MouseDown( object sender, MouseEventArgs e)
{
// 取色
try
{
Color pixelColor = myBitmap.GetPixel(e.X, e.Y);
colorbox.BackColor = pixelColor;
txtColorValue.Text = System.Drawing.ColorTranslator.ToHtml(pixelColor);
}
catch
{ }
}
}
}
using System.Diagnostics;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using bitmapTest.Properties;
namespace bitmapTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Bitmap myBitmap;
int cmd = 0 ;
private void Form1_Load( object sender, EventArgs e)
{
pictureBox1.Image = Resources.bfq0002;
myBitmap = (Bitmap)pictureBox1.Image;
}
/// <summary>
/// 鼠标取色(移动)
/// </summary>
private void pictureBox1_MouseMove( object sender, MouseEventArgs e)
{
int mouseX = e.X;
int mouseY = e.Y;
txtPoint.Text = " ( " + mouseX + " , " + mouseY + " ) " ;
if (rbtmutil.Checked)
{
// 取色
try
{
Color pixelColor = myBitmap.GetPixel(mouseX, mouseY);
colorbox.BackColor = pixelColor;
txtColorValue.Text = System.Drawing.ColorTranslator.ToHtml(pixelColor);
}
catch
{ }
}
// 命令
switch (cmd)
{
case 1 : // 画线
SolidBrush pixelBrush = new SolidBrush(Color.Red);
Graphics g = Graphics.FromImage(myBitmap);
g.FillRectangle(pixelBrush, mouseX, mouseY, 2 , 2 );
pictureBox1.Image = myBitmap;
break ;
case 2 :
break ;
default :
break ;
}
}
/// <summary>
/// 画笔
/// </summary>
private void btnpen1_Click( object sender, EventArgs e)
{
if (cmd == 1 )
{
cmd = 0 ;
btnpen1.Image = Resources.png_05252;
this .toolTip1.SetToolTip( this .btnpen1, " 单击使用画笔 " );
}
else
{
cmd = 1 ;
btnpen1.Image = Resources.png_05253;
this .toolTip1.SetToolTip( this .btnpen1, " 单击禁用画笔 " );
}
}
/// <summary>
/// 恢复
/// </summary>
private void button1_Click( object sender, EventArgs e)
{
pictureBox1.Image = Resources.bfq0002;
myBitmap = (Bitmap)pictureBox1.Image;
}
/// <summary>
/// 鼠标取色(单击)
/// </summary>
private void pictureBox1_MouseDown( object sender, MouseEventArgs e)
{
// 取色
try
{
Color pixelColor = myBitmap.GetPixel(e.X, e.Y);
colorbox.BackColor = pixelColor;
txtColorValue.Text = System.Drawing.ColorTranslator.ToHtml(pixelColor);
}
catch
{ }
}
}
}
程序界面如下:
![](https://i-blog.csdnimg.cn/blog_migrate/4321c81b3308a9a9a1f8c6ae1c8d8f8d.jpeg)
演示版下载: Demo 程序源码: Code