- 博客(7)
- 收藏
- 关注
原创 C# 中的常用正则表达式总结
只能输入数字:"^[0-9]*$"。 只能输入n位的数字:"^/d{n}$"。 只能输入至少n位的数字:"^/d{n,}$"。 只能输入m~n位的数字:。"^/d{m,n}$" 只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。 只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。 只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{
2008-05-08 09:26:00 158
转载 用于验证码图片识别的类续 C#
1、如何设前景/背景的分界值 UnCodebase类中有一个GetPicValidByValue( int dgGrayValue) 函数,可以得到前景的有效区域,常有人问我前景/背景的分界值dgGrayValue是如何确定的(常用的是灰度128)。这个值的获取是有数学算法,叫最大类间方差法,即图像的前后景的平方差为最大时的值就是我们关心的分界值,对付如 这样较复杂的背景非常管用,下面是具
2008-05-05 11:40:00 290
转载 用于验证码图片识别的类 C#
using System;using System.Collections.Generic;using System.Text;using System.Collections;using System.Drawing;using System.Drawing.Imaging;using System.Runtime.InteropServices;namespace BallotAiyin
2008-05-05 11:34:00 265
原创 关于图片LOGO处理
做图片处理软件,肯定会遇到这样的需求:如何把一张图片放在另一张图片上,比如在大图片中打上公司或个人的Logo等等。其实原理很简单。假设我们有一张 800 * 600 的大图片(Bitmap b0),想在(10,10)的位置上打上Logo(Bitmap b1),Logo图片大小是 150 * 30。很简单,我们以大图片的(10,10)位置作为起始位置,做一个150 * 30 的矩形,把Logo图片整
2008-05-05 11:30:00 353
转载 OO设计中对象的创建和使用(三)
在设计中,实体这个概念有不同的视角,每个视角表现为某一类操作的内聚。而内聚为认是设计的传统美德,因为强内聚的实体容易被理解,更少的藕合,更好的粒度,更容易测试。 如果我们努力使实体的操作呈现出更清晰的视角,我们就改进了内聚性,包括状态的内聚、功能的内聚、职责的内聚,这将给我们带来很多的好处。 划分使用视角和创建视角可以有效的提升内聚性。这么作也意味有一个内聚的实体负责创建工作,一般是工厂类,同
2008-04-28 20:45:00 232
转载 OO设计中对象的创建和使用(二)
实际工作中的观点 这是否就意味着你的设计中的每一个类都应该有一个"工厂类",而其它类都必须实例化这个工厂类?当然,如果问题很简单,没什么变数,例如一个普通排序类,那就是杀鸡用牛刀了。 但这就经常会有问题,我们永远不知道将来会发生什么样的变化。很不幸,我们预知变化的能力历来都不高。有一个折衷的办法是:把构造器封装在自己的类里面。 只要简单地把构造器声明为private或是protected,然
2008-04-28 20:44:00 204
转载 OO设计中对象的创建和使用(一)
背景 这篇文章是我在Net Objectives工作时写的,我在那里的工作是指导人们编写有效的面向对象程序。本文将介绍一些实用但不同以往的观点,用来解决每天出现的设计问题。本文不关注对象做什么,而是对象的使用和对象的实例化。基于这些观点,可以大规模地简化和改进代码,以满足将来维护的需要。 引用Martin Fowler的观点 在《UML精粹》第三版中,Martin Fowler提出了对象设
2008-04-28 20:34:00 230
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人