C#.NET验证码智能识别学习笔记---04C#.Net图片操作
2021/7/11 20:08:23
本文主要是介绍C#.NET验证码智能识别学习笔记---04C#.Net图片操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
C#.NET验证码智能识别学习笔记---04C#.Net图片操作教程下载,在线交流:it.yunsit.cn
----------------------------------------------
下面直接把代码贴出来了,注释写的很清楚不明白的留言把..
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing.Imaging;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace 验证码识别操作
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//一,图像操作
//.net的语法细节这里不再说了
//这个时候图片已经被加载到内存中了
//这里用Using进行资源的释放,以为Bitmap是一个实现了IDisposable接口类型
//关于using的用法看上一篇教程
//using(Bitmap bitmap = (Bitmap)Image.FromFile(@"G:\NET学习\workspace\验证码识别系统用到的资源\abc.jpg"))
// {
// //保存图片,第一个是图片路径,第二个参数是保存格式
// //bitmap.Save(@"G:\NET学习\workspace\验证码识别系统用到的资源\Test.gif",ImageFormat.Gif);
// //所有图片都是由像素点组成的,图片的像素坐标从左上角开始的,向右是x坐标,向下是y坐标
// //这里对图像的处理在c#.net中可以用getPixel,SetPixel方法取得设置像素
// //但是这种方法的效率是很低的,在c#.net也可以使用c++语法,使用指针操作效率最高
// //-------------------------------------------------------------------------
// //a.取得某个点的像素
// Color c = bitmap.GetPixel(3, 3);//取得这个坐标的像素
// //这里用getPixel,SetPixel方法对图片操作
// for (int i = 0; i < 100; i++) {
// bitmap.SetPixel(i, 0, Color.Red);
// //1.这时候修改的是内存中的图片
// }
// //2.保存图片
// bitmap.Save(@"G:\NET学习\workspace\验证码识别系统用到的资源\credream.jpg");
b.取得像素的另一个方法 Color.FromArgb()
// Color colors = Color.FromArgb(255, 255, 255);
// //--------------------------------------------------------------
//
//}
//二,接下来说一个图像处理技巧:图片反色
//复杂的程序一般不会直接操作本来的那个图片上操作的,应该新建一张图
//
using (Bitmap bitmap = (Bitmap)Image.FromFile(@"G:\NET学习\workspace\验证码识别系统用到的资源\abc.jpg"))
{
//using (Bitmap bitmap = (Bitmap)Image.FromFile(@"G:\NET学习\workspace\验证码识别系统用到的资源\abc.jpg"))
using (Bitmap newBmp = new Bitmap (bitmap .Width ,bitmap .Height ))
{
//a.取得宽度的所有点
for (int i = 0; i < newBmp.Width;i++ ) {
//b.取得长度的所有的点
for (int j = 0; j < newBmp.Height;j++ ) {
Color c1 = bitmap.GetPixel(i, j);
//c.取得所在点的像素
Color c2 = Color.FromArgb(255 - c1.R, 255 - c1.G, 255 - c1.B);
//c.取得相反像素
newBmp.SetPixel(i, j, c2);
//d.在取得的位置进行相反像素的设置
//这时候是在内存中改的
}
}
newBmp.Save (@"G:\NET学习\workspace\验证码识别系统用到的资源\newqufan.jpg");
}
}
}
}
}
这篇关于C#.NET验证码智能识别学习笔记---04C#.Net图片操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-12-06使用Microsoft.Extensions.AI在.NET中生成嵌入向量
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#