C#图片处理之:最简单的柔化算法

摘要: 与锐化相反,柔化是使图片看起来更柔滑(其实也是模糊的委婉的说法)。柔化的一个最简单的实现算法就是取图片上的每一点(图片边缘点忽略),计算它周围八个点的平均值作为新像素值。想想也是,之所以看起来模糊,确实是因为周围的点长的有点像,区别不太明显。//============================柔化============================== /**////<summary> ///柔化 ///<paramname="b">原始图</param> ///<returns>输出图</returns&g 阅读全文
posted @ 2012-01-17 13:52 chennie 阅读(434) 评论(0) 推荐(0) 编辑

C#图片处理之: 获取数码相片的EXIF信息

摘要: 现在的数码相机拍摄出来的照片表面上看都是很普通的JPEG的图片,但通常还包含着诸如相片拍摄时使用的相机生产商、型号、光圈值、快门速度等各类附加信息,这就是所谓的Exif信息。Exif是一种图像文件格式,只是文件的后缀名还是沿用大家熟悉的jpg而已。掌握Exif信息对学习提高摄影技术很有帮助。C#.NET作为一种现代的全能开发语言,对EXIF也有着较好的支持。在.NET中,我们可以用PropertyItem对象来获取EXIF。取得PropertyItem很简单。Image img = Image.FromFile("支持Exif的图片文件"); PropertyItem[] 阅读全文
posted @ 2012-01-17 13:50 chennie 阅读(596) 评论(0) 推荐(0) 编辑

C#图片处理之:在图片上画框(圈)

摘要: 有时候给别人演示图片,例如培训某个软件使用的时候,往往需要在画面上画个框或者圈,提醒用户注意这是个重点。其实这个功能并不难,只需要知道Pen对象的用法就可以了。我们对框或者圈样式的控制都可以通过对Pen的控制来实现。 /**////<summary> ///在图片上画框 ///</summary> ///<paramname="bmp">原始图</param> ///<paramname="p0">起始点</param> ///<paramname="p1" 阅读全文
posted @ 2012-01-17 13:48 chennie 阅读(2691) 评论(0) 推荐(0) 编辑

C#图片处理之:在图片上画直线

摘要: 在图片上画直线比画框更简单。线形的控制还是通过对Pen的设置来实现的。 /**////<summary> ///在图片上画线 ///</summary> ///<paramname="bmp">原始图</param> ///<paramname="p0">起始点</param> ///<paramname="p1">终止点</param> ///<paramname="RectColor">线的颜色</ 阅读全文
posted @ 2012-01-17 13:46 chennie 阅读(1279) 评论(0) 推荐(0) 编辑

C#图片处理之:保存原始Exif到处理过的JPEG图片中

摘要: 自从越来越多的兄弟姐妹买了单反,亮骚就是不可避免的了,处理过的图片丢失Exif信息未免有些遗憾。而且从正儿八经的角度看,查看Exif确实是总结拍摄经验吸取教训寻找问题的一个很有效地手段。因此还是研究了下如何保存原始Exif到处理过的JPEG图片中。我的方案很简单,从原始图中原封不动的提取Exif信息,然后在保存前还给Bitmap就行。参考代码如下:publicList<PropertyItem>GetImageProperties(stringFileName){if(!File.Exists(FileName))returnnull;List<PropertyItem> 阅读全文
posted @ 2012-01-17 13:40 chennie 阅读(1038) 评论(0) 推荐(0) 编辑

怎么成为一个软件架构师

摘要: 的确没想到随手写的东西有那么多的回复,不管怎样还是挺高兴的。在这里谢谢大家的关注了。其实做了这么多年的技术脑子里总会跳出很多的想法,但很少有时间静下来仔细地思考思考,写写博客也算是一种自我归纳和总结吧。“软件架构师”这个名词也不知是什么时候进入我的脑中的,不过一直就很疑惑,总觉得和软件的Team Leader之间有些纠缠不清。不过以我的观点来看,软件架构师除了没有行政上的职责以外,与Team Leader也并无二致了,也就是一个软件团队的核心设计者和决策人。作为一个软件团队的领头人,架构师应该具备哪些能力、素质和经验呢?我可以把一个软件研发工作者的从业经历大致划分为3个阶段第一阶段是新手期这个 阅读全文
posted @ 2011-10-24 13:37 chennie 阅读(155) 评论(0) 推荐(1) 编辑

谈谈对于企业级系统架构的理解

摘要: 在我们刚开始学习架构的时候,首先会想到分层的概念,分层架构比较经典的是三层架构,那么,什么是三层架构呢?它包括表现层,业务层,数据访问层;而对于一个新手来说,从抽象意义上的三层架构,逻辑上就划分为三个层。AD:这个是最基本的三层架构模式。表现层充当系统的界面呈现以及UI逻辑的角色,也就是说,UI(用户界面)属于表现层;举一个对于asp.net WebForm来说,人们喜欢把对于UI的控制逻辑(服务器控件的读取、设置、事件等等)写在页面的后置隐藏代码中,并且依赖业务逻辑层。当然,服务器控件支持数据绑定的功能,可以通过数据源进行绑定控件。这样就可以节省在后置隐藏中的代码。因此,我们就可以把表现层分 阅读全文
posted @ 2011-10-24 13:32 chennie 阅读(129) 评论(0) 推荐(0) 编辑

学习SQL语句性能调整

摘要: 【IT168 技术文档】 有些程序员在撰写数据库应用程序时,常专注于 OOP 及各种 framework 的使用,却忽略了基本的 SQL 语句及其「性能 (performance) 优化」问题。曾听过台湾某半导体大厂的新进程序员,所组出来的一段 PL/SQL 跑了好几分钟还跑不完;想当然,即使他的 AJAX 及 ooxx 框架用得再漂亮,系统性能也会让使用者无法忍受。以下是整理出的一些数据库规划、SQL performance tuning 简单心得,让长年钻研 .NET、AJAX、一堆高深 ooxx framework,却无暇研究 SQL statement 的程序员,透过最短时间对本文的阅 阅读全文
posted @ 2011-10-24 13:29 chennie 阅读(133) 评论(0) 推荐(0) 编辑

win2003文件夹没有共享选项的解决办法---win2003容易出现这种情况

摘要: 首先检查: 1.是否administrator身份登录 2.运行services.msc,检查server,workstation是否启动 3.本地连接属性,看“文件打印机共享”的服务是否安装 如果以上均正常,仍然看不到共享选项。 那么出杀手锏: 控制面板- 管理工具 - 计算机管理 - 共享文件夹,双击“共享”,看到目录为空。右键点“新文件共享”,即可选择你要共享的文件夹。选择完后,会发现鼠标右键菜单多出了“共享”选项 为什么有的系统右键菜单有“共享”而有的没有? 因为windows系统默认会共享一个隐藏的IPC$,某些右键菜单有“共享”的系统,进入计算机管理 - 共享文件夹,双击“共享”, 阅读全文
posted @ 2011-10-10 13:44 chennie 阅读(970) 评论(0) 推荐(0) 编辑

ASP.NET数据缓存之数据缓存浅谈

摘要: ASP.NET数据缓存的学习是如何呢?如何使用ASP.NET数据缓存呢?在讲ASP.NET数据缓存之前还要先说一下如果在页面中使用参数缓存。前面讲过一个缓存设置VaryByParam="none"为无参数,我们也可以对VaryByParam进行设置,设置的参数与随 GET 方法属性发送的查询字符串值对应,或与使用 POST 方法发送的参数对应。将该属性设置为多个参数时,对于每个指定参数组合,输出缓存都包含一个不同版本的请求文档。可能的值包括 none、星号 (*) 以及任何有效的查询字符串或 POST 参数名称。简单点说,就是设置成我们在页面中使用的QueryString名 阅读全文
posted @ 2011-09-30 17:31 chennie 阅读(224) 评论(0) 推荐(0) 编辑