在.net中,如何简单快捷地实现Photoshop滤镜组中的淡色效果呢?答案是调用SharpImage!专业图像特效滤镜和合成类库。下面开始演示关键代码,您也可以在文末下载全部源码:

设置授权

第一步:在引用了SharpImage.dll之后,调用SharpImage方法之前,一定要先通过下面代码来设置授权信息,如果是试用版,直接输入Test即可。

KeyMgr.SetKey("Test");

初始化一个ImageEngine

从之前的一篇博文中,我们介绍了一张图看懂SharpImage,从那篇文章我们可以看出,SharpImage通过ImageEngine来作为图像处理的基石,所有效果都是作为ImageEngine的Effects来进行的,Effects将被应用到ImageEngine的各种Element上,产生千变万化的效果。请看下面的代码:

//实例化ImageEngine
engine = new ImageEngine();

设置ImageEngine的基础参数

对ImageEngine进行一些自定义设置,具体可参考API手册。代码如下:

//对一些基础属性进行设置
engine.Canvas.AutoSize = true;
engine.Canvas.CenterElements = true;
engine.Canvas.Width = 320;//此处一般设置为图片的宽即可
engine.Canvas.Height = 213;//此处一般设置为图片的高即可
engine.Canvas.Fill.Type = FillType.Solid;//采用纯色填充画布
engine.Canvas.Fill.BackgroundColor = Color.White;//画布为白色的

加载待处理的图片

将待处理的图片加载到内存,SharpImage支持多种方式加载:从图片URL, 本地路径,Bitmap对象, 字节数组, Base64字符串,可任选其一。这里演示下三种方式的代码:

#region 加载测试图片的GDI+对象
bmpDemoImage = Properties.Resources.demo;
#endregion#region 加载测试图片的字节流
using (MemoryStream ms = new MemoryStream())
{bmpDemoImage.Save(ms, bmpDemoImage.RawFormat);arrDemoImage = ms.ToArray();
}
#endregion#region 加载测试图片的Base64字符串
strBase64DemoImage = Convert.ToBase64String(arrDemoImage);
#endregion

初始化ImageElement

在SharpImage中,图片被抽象为ImageElement,我们将待处理图片,绑定到ImageElement上。代码如下:

//建立一个ImageElement
imageEle = new ImageElement();//接下来,根据具体的图片数据源类型来为ImageElement提供数据,这里演示是用一个ComboBox来手动选择的
switch (cmbBox11.SelectedIndex)
{case 0://图片URLimageEle.SourceType = ImageSource.File;imageEle.SourceFile = "http://www.zzsgzn.com/images/demo.jpg";break;case 1://本地路径imageEle.SourceType = ImageSource.File;imageEle.SourceFile = "c:\\demo.jpg";break;case 2://GDI+对象imageEle.SourceType = ImageSource.Image;imageEle.SourceImage = bmpDemoImage;break;case 3://字节数组imageEle.SourceType = ImageSource.Binary;imageEle.SourceBinary = arrDemoImage;break;case 4://base64字符串imageEle.SourceType = ImageSource.Base64String;imageEle.SourceBase64 = strBase64DemoImage;break;
}

绑定ImageElement和ImageEngine

将ImageElment对象和ImageEngine绑定在一起, 只需要执行下面的代码即可:

//将该ImageElement绑定到图像引擎对象上
engine.Elements.Add(imageEle);

此时,一定要注意:engine.Elements可以包含很多的element,最终的效果,将是这些元素的叠加。这个原理和Photoshop的图层叠加是一个原理。

应用滤镜

哈吼!准备工作就绪啦!下面应用滤镜,淡色效果滤镜是TintEffect,实例化并应用到ImageEngine即可,代码如下:

//初始化滤镜,并添加到ImageEngine的效果滤镜组中
TintEffect effect = new TintEffect();//此处,您也可以对该滤镜的具体参数进行调整,具体参考API手册
...engine.Effects.Add(effect);

获取处理结果

应用完之后,就可以获取处理结果啦!

Image bmpResult = engine.GetOutputImage();

运行效果图

demo源码下载

点击下载源码

相关推荐

您可以需要了解如何获取摄像头帧图片,或者桌面屏幕图片,请了解SharpCapture:
SharpCapture,桌面屏幕,摄像头,音视频采集类库

您可以需要了解对摄像头亮度对比度色调曝光等几十种参数进行调整,请了解SharpCamera:
SharpCamera,专业的摄像头高级参数深控类库

C# vb .net实现淡色效果滤镜相关推荐

  1. C# vb .net实现焦距淡色特效滤镜

    在.net中,如何简单快捷地实现Photoshop滤镜组中的焦距淡色效果呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第 ...

  2. C# vb .net实现玻璃桌子效果滤镜

    在.net中,如何简单快捷地实现Photoshop滤镜组中的玻璃桌子效果呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第 ...

  3. 图层锁定vlisp函数高版本图元自动淡色显示

    (defun c:tt(/ obj)(sk_layerLock (getvar "clayer") nil)(princ) ) ;;;name:sk_layerLock ;;;de ...

  4. 基于VB算法+Picture+Timer控件制作的39种动画效果,类似屏保(完整原程序)

    基于VB算法+Picture+Timer控件制作的39种动画效果,类似屏保(完整原程序) 动画播放器程序,在WIN2003调试通过,详细请自行下载进行学习测试,程序大小13K 下载地址:http:// ...

  5. 基于VB算法+Picture+Timer控件制作的39种动画效果,类似屏保(完整原程序) (转)

    基于VB算法+Picture+Timer控件制作的39种动画效果,类似屏保(完整原程序) (转)[@more@] 基于VB算法+Picture+Timer控件制作的39种动画效果,类似屏保(完整原程序 ...

  6. 实用设计色谱:中国传统色彩样本与描述!

    国画用色 ████ 银朱:呈暗粉色. ████ 胭脂:色暗红.用红蓝花.茜草.紫梗三种植物制成的颜料,年代久则有褪色的现象. ████ 朱砂:色朱红.用以画花卉.禽鸟羽毛. (quester注:黄色成 ...

  7. 中国传统色彩样本与描述--实用设计色谱

    国画用色 ████ 银朱:呈暗粉色. ████ 胭脂:色暗红.用红蓝花.茜草.紫梗三种植物制成的颜料,年代久则有褪色的现象. ████ 朱砂:色朱红.用以画花卉.禽鸟羽毛. (quester注:黄色成 ...

  8. [转] Photoshop教程8000例

    Photoshop教程8000例,还能学不会吗?那我再砸8000!!!!学会了这个,高手?NO!大师!!! Photoshop学习宝典,后期调色,数码合成,签名,动画,绘画等教程1W例(09年11月整 ...

  9. [转] Photoshop教程8000例

    Photoshop教程8000例,还能学不会吗?那我再砸8000!!!!学会了这个,高手?NO!大师!!! Photoshop学习宝典,后期调色,数码合成,签名,动画,绘画等教程1W例(09年11月整 ...

最新文章

  1. 【转】HashMap集合中key只能为引用数据类型,不能为基本类型
  2. 三次样条插值 cubic spline interpolation
  3. Golang——string字符串常用函数(Contains、join、Index、Repeat、Replace、Split、Trim、Fields)
  4. 结束查找到的所有飞鸽当前步骤(飞鸽传书2007绿色版)
  5. 2015必须推荐的Android框架,猿必读系列!
  6. Redis-key的设计技巧
  7. [开发手记] 在WinForm应用程序中打开Url
  8. 手顺解决 Foxmail7.2 无法搜索“主题”和“全文”,只能搜“发件人”和“收件人” 问题
  9. php导出excel出现乱码,php导出excel出现乱码怎么办
  10. 18650锂电池保护板接线图_12v锂电池保护板电路图 - 全文
  11. py-faster-rcnn标注FDDB人脸便于其在FDDB上进行测试
  12. 给系统闹钟设置时间Alarm
  13. error: expected unqualified-id before 'xxx'
  14. sphinx php搜索引擎,sphinx 全文搜索引擎
  15. 9.3. debug ip igrp
  16. Nebula Graph 在企查查的应用
  17. java计算器GUI科学型计算器
  18. android 打包提示 Password verification failed
  19. php基础语法——输出语句
  20. 微信小程序 模块化设计

热门文章

  1. android自定义控件(星级评分)
  2. flex 做的小相册+向上滚动字体
  3. 25年后的晶体管会是什么样?
  4. html制作唐诗,Steve:HTML创始人来中国当教师 痴迷李白自称“唐诗”
  5. 在 Amazon SageMaker 上玩转 Stable Diffusion: 基于 Dreambooth 的模型微调
  6. 燕山大学C++实验报告
  7. 制作精致闪电天气APP图标的PS教程
  8. 微软project服务器搭建,安装和配置 Project Server 2010
  9. 网易笔试题(java 、 c++ 、软件测试等)
  10. WORD中页码变成一样