[DSAPI.DLL下载地址]


  说到计算机上使用代码来处理各种图像特效,是一份太有挑战性的工作.以下涉及的所有图像效果均不是从网上复制的源码,而是本人试验数次并编写的,所以原理上会和网上的有所不同.既然说到图像了,那么我们先来看一些图像效果吧.


















看了以上的效果图,是不是感觉实现起来会比较麻烦呢?No,其实上面的各种特效都只有几句代码.我们来看看我是如何写的:


'模糊
Dim B As New Bitmap(My.Resources.ss)
DSAPI.图形图像.图像特效.模糊(B, 10)
Me.BackgroundImage = B

'自动将驴子变幻为最搭配背景图的色调

  Dim B As New Bitmap(My.Resources.ss.Width, My.Resources.ss.Height)
Using G As Graphics = Graphics.FromImage(B)
G.DrawImage(My.Resources._20071206123902233, New Rectangle(Label2.Left, Label2.Top, Label2.Width, Label2.Height), New Rectangle(0, 0, My.Resources._20071206123902233.Width, My.Resources._20071206123902233.Height), GraphicsUnit.Pixel)
End Using
DSAPI.图形图像.图像特效.色彩.调整指定图像色调为参考图像的最佳色调(B, New Bitmap(My.Resources.ss))
Label2.Location = New Point(0, 0)
Label2.Size = My.Resources.ss.Size
Label2.Image = B

'使图片只输出蓝色色调

 Dim B As New Bitmap(My.Resources.ss)
DSAPI.图形图像.图像特效.色彩.保留通道(B, DSAPI.图形图像.图像特效.色彩.色彩通道.蓝)
Me.BackgroundImage = B

'使图片只输出红色色调

 Dim B As New Bitmap(My.Resources.ss)
DSAPI.图形图像.图像特效.色彩.保留通道(B, DSAPI.图形图像.图像特效.色彩.色彩通道.红)
Me.BackgroundImage = B

'调整图像色相

  Dim B As New Bitmap(My.Resources.ss)
DSAPI.图形图像.图像特效.色彩.调整图像色调(B, 1, 0, 0) '红绿蓝各0.0到1.0的百分比
Me.BackgroundImage = B

'调整图像亮度

 Dim B As New Bitmap(My.Resources.ss)
DSAPI.图形图像.图像特效.色彩.亮度(B, 100) '范围-128到128
Me.BackgroundImage = B

'灰度

   Dim B As New Bitmap(My.Resources.ss)
DSAPI.图形图像.图像特效.色彩.灰度(B)
Me.BackgroundImage = B

'黑与白

   Dim B As New Bitmap(My.Resources.ss)
DSAPI.图形图像.图像特效.色彩.黑与白(B, 0)
Me.BackgroundImage = B

'反色

   Dim B As New Bitmap(My.Resources.ss)
DSAPI.图形图像.图像特效.色彩.反色(B)
Me.BackgroundImage = B

是不是感觉特别容易呢?是的,用DSPI就是这么简单.需要注意一下,上述调整指定图像色调为参考图像的最佳色调的两个参数,要求两个图片尺寸相等,否则出错.以上效果可以根据自己的需要进行效果叠加,比如上一句是模糊处理,下一句是灰度处理.


其他效果

图像的旋转,这个由于过于简单,就不上图演示了,给出代码:

        DSAPI.图形图像.图像特效.变形.从中心旋转(B, 90) '将图像从中心旋转90度
DSAPI.图形图像.图像特效.变形.从指定点旋转(B, New Point(10, 10), 90) '将图像从坐标(10,10)的点为中心旋转90度
DSAPI.图形图像.图像特效.变形.调整大小(B, 0.5) '将图像缩小一半

控件背景图像的动态效果


        DSAPI.图形图像.图像特效.动画.淡出(Me)
DSAPI.图形图像.图像特效.动画.淡出淡入(Me, Me.BackgroundImage)
DSAPI.图形图像.图像特效.动画.淡入(Me, Me.BackgroundImage)


DSAPI多功能组件编程应用-图形图像篇(中)的更多相关文章

  1. DSAPI多功能组件编程应用-HTTP监听服务端与客户端_指令版

    前面介绍了DSAPI多功能组件编程应用-HTTP监听服务端与客户端的内容,这里介绍一个适用于更高效更快速的基于HTTP监听的服务端.客户端. 在本篇,你将见到前所未有的超简化超傻瓜式的HTTP监听服务 ...

  2. DSAPI多功能组件编程应用-参考-Win32API常数

    DSAPI多功能组件编程应用-参考-Win32API常数 在编程过程中,常常需要使用Win32API来实现一些特定功能,而Win32API又往往需要使用一些API常数,百度搜索常数值,查手册,也就成了 ...

  3. DSAPI多功能组件编程应用-网络相关(上)

    [DSAPI.DLL下载地址]  DSAPI多功能组件编程应用-网络相关,网络相关编程有很多很多,这里讲解一下封装在DSAPI中的网络相关的功能,这些都是本人简化到极点的功能了,可以在软件开发过程中节 ...

  4. DSAPI多功能组件编程应用-网络相关(下)

    [DSAPI.DLL下载地址] 在本篇,我将重点介绍DSAPI.DLL中Socket编程的使用.众所周知,Socket用起来不难,但是写起来麻烦.我对Socket进行了封装,进行了高度简化.下面我将通 ...

  5. DSAPI多功能组件编程应用-网络相关(中)

    [DSAPI.DLL下载地址] 在中篇,我将演示比上篇稍微复杂点的功能.如HTTP监听和局域网广播. 有时,我们会有这样的需求:用户通过浏览器来访问获取数据,我们的程序需要监听指定端口,根据不同的请求 ...

  6. DSAPI多功能组件编程应用-文件类

    [DSAPI.DLL下载地址]     本节内容,是属于"无需过多说明"就能使用的功能.由于实在是太简单,我就简单地示例一下. DSAPI.文件类.获取可读性强的字节大小信息(&q ...

  7. DSAPI多功能组件编程应用-反射相关

    [DSAPI.DLL下载地址]       在.Net中,反射技术是一种入门困难,熟用快速的东西,对于没有接触过反射技术的程序员来说的确是头疼的,看一旦自己写过了,上手就非常简单了.在本节,将部分.N ...

  8. DSAPI多功能组件编程应用-DS提示气泡

    首先下载DSAPI.dll.并在项目中引用. 该功能包括在DSAPI1.0.1.1及更高版本号,DLL请到本人资源里查找. Private Sub Button1_Click(sender As Ob ...

  9. DSAPI多功能组件编程应用-使用外部字体(包括资源文件)

    在软件开发过程中,尤其是比较个性化的程序,有时会需要使用非安装字体文件,比如发布的时候附带了一个专用字体,或者该字体文件直接被放入项目资源,当不希望把这个字体安装到用户的操作系统但又想使用它时,本示例 ...

随机推荐

  1. ionic基于GPS定位并通过百度地图获取定位详细信息

    相信所有的前端攻城狮都会碰到移动端App.里面获取用户定位信息. 那么问题来了,怎么获取用户的定位信息(经纬度)呢. 当然方法有很多,通过百度地图API 以及 高德地图 API都是可以的.但是两个获取 ...

  2. c# 集合的长度为什么是可变的

    摘要: 写在前面:此随笔仅仅是作为个人学习总结,有不对的地方,请各位前辈指正O(∩_∩)O........ 一: 引入 在学习集合之前我们都学习过数组.可以知道数组的长度在声明的时候就已经被固定了,不 ...

  3. 错误:Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared memory file

    Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared memory file: /tmp/hsperfdat ...

  4. ASP.NET 4.0验证请求 System.Web.HttpRequestValidationException: A potentially dangerous Request.F

    System.Web.HttpRequestValidationException: A potentially dangerous Request.F 在使用类似eWebedtior 拷贝内容进去的 ...

  5. QEMU KVM Libvirt手册(9): network

    虚拟网卡由-net nic定义 # qemu-system-x86_64 -enable-kvm -name ubuntutest  -m 2048 -hda ubuntutest.img -vnc ...

  6. DDD事件总线的实现

    基本思路: (1)       在事件总线内部维护着一个事件与事件处理程序相映射的字典. (2)       利用反射,事件总线会将实现了IEventHandler的处理程序与相应事件关联到一起,相当 ...

  7. [Swift]LeetCode231. 2的幂 | Power of Two

    Given an integer, write a function to determine if it is a power of two. Credits:Special thanks to @ ...

  8. [Swift]LeetCode650. 只有两个键的键盘 | 2 Keys Keyboard

    Initially on a notepad only one character 'A' is present. You can perform two operations on this not ...

  9. [Swift]LeetCode913.猫与老鼠 | Cat and Mouse

    A game on an undirected graph is played by two players, Mouse and Cat, who alternate turns. The grap ...

  10. ThinkPHP 数据库操作(三) : 查询方法、查询语法、链式操作

    查询方法 条件查询方法 where 方法 可以使用 where 方法进行 AND 条件查询: Db::table('think_user') ->where('name','like','%th ...