C#图片处理的3种高级实用方法

开发 后端
利用C#图片处理的一些基本和高级应用,解决了显示排版时想让相片缩略图列表非常统一、整齐、和美观,每张缩略图大小固定为120 x 90且不拉伸变形,用户头像让缩略图比原图更清晰,上传的图片下加一个半透明的LOGO水印等等要求。

  本文介绍C#图片处理高级应用,感觉有点标题党了,这些功能并无多大技术含量。全部基于.Net Framework类库完成,代码中包含了C#图片处理的一些基础知识,与大家分享,个人能力有限,不足之处还请及时指正。

原图1 (原图200*200,12.3k)处理后1(处理后80*80,17.7k)
 高缩略图清晰度

  之前一直认为缩略图不可能比原图清晰,直到某天一位产品的同事给我看某网站的效果。于是开始寻找.NET下实现代码,仔细观察缩略图确实比原图更清晰了一些,但代价是缩略图文件比原图更大,所以如果你想让一张占满显示器屏幕的超大图片更清晰,那么图片占用空间和网络流量就必需考虑了,如果是互联网应用,建议缩略图在200像素以内的使用该方法。当然如果哪位有更好的代码即能让图片文件大小变化不大又让图片更清晰还请分享。

图片剪裁

原图2 (原256*192)处理后2(裁剪要求100*100)

原图2 (原256*192)处理后3(裁剪要求90*120)

原图2 (原256*192)处理后4(裁剪要求120*90)

原图3 (原图146*256)处理后5(裁剪要求100*100)

原图3 (原图146*256)处理后6(裁剪要求90*120)

原图3 (原图146*256)处理后7(裁剪要求120*90)

  算法:以原图中心作为裁剪中心,最大范围的对原图进行裁剪,然后对裁剪结果等比缩放。

图片水印

水印原图 

水印后

 

  仅演示了效果,如需要变更字体、水印透明度、位置等可自行在代码或方法中扩展。

       这篇文章只演示了利用C#处理照片的一些基本的应用效果,要看完整的代码,请参考http://www.cnblogs.com/wu-jian/archive/2011/02/21/1959382.html

【编剧推荐】

  1. C# 4.0新特性:协变与逆变中的编程思想
  2. 10个C#编程和Visual Studio使用技巧
  3. 详解C#创建不规则窗体的几种方式
  4. C# 4何以成为微软锋利的刀——动态编程语言

      

责任编辑:佚名 来源: 博客园
相关推荐

2009-08-19 15:54:33

处理C#消息

2009-08-18 13:22:55

C#动态调用Web服务

2022-06-01 10:45:52

C语言代码优化

2023-05-09 15:01:43

JavaScript编程语言异常处理

2009-08-05 14:09:04

C#日期转换

2009-08-17 17:28:23

C#转义字符

2021-06-10 00:13:43

C#队列数据

2009-07-30 16:40:03

C#日期格式化

2021-03-26 05:54:00

C#数据方法

2009-08-19 17:30:38

C#转义字符

2009-09-01 18:16:41

C#窗体间通讯

2009-07-30 15:35:47

C#时间函数

2009-09-08 10:37:57

C#遍历CheckBo

2009-09-22 14:20:39

C#播放声音

2009-09-17 16:55:58

C#组件设计

2009-08-20 12:35:41

C#读取图片的EXIF

2009-07-31 14:04:11

C#时间比较大小

2009-09-01 18:32:32

C#动态数组

2009-08-19 11:13:49

C#操作Word

2009-07-30 16:27:33

C#比较时间
点赞
收藏

51CTO技术栈公众号