[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. CSS3 神器总结

    1. 选择类 1.1 /* 鼠标选中区域,改变背景/字体颜色 */ /*遍历写法*/ div::selection { background-color: red; color: #fff; /* f ...

  2. 快速搭建react项目骨架(按需加载、redux、axios、项目级目录等等)

    一.前言 最近整理了一下项目骨架,顺便自定义了一个脚手架,方便日后使用.我会从头开始,步骤一步步写明白,如果还有不清楚的可以评论区留言.先大致介绍一下这个骨架,我们采用 create-react-ap ...

  3. anaconda安装opencv(python)

    1.win10 win10没有安装python,只安装了anaconda,然后使用pip安装opencv-python,版本很新,opencv_python4.0.0的. 网速有点莫名其妙,时快时慢 ...

  4. linux-Vim命令合集

    Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filena ...

  5. 浏览器css隐藏滚动条的方法!除了IE一般都支持

    ::-webkit-scrollbar { /* 滚动条整体部分 */ width:0px; margin-right:2px}::-webkit-scrollbar-track-piece { /* ...

  6. 浅析Diffie–Hellman

    一.作者 这个密钥交换方法,由惠特菲尔德·迪菲(Bailey Whitfield Diffie).马丁·赫尔曼(Martin Edward Hellman)于1976年发表. 二.说明 它是一种安全协 ...

  7. JS关于Date函数的格式化输出

    // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占 ...

  8. 脚本语言丨Batch入门教程第四章:调用与传参

    今天是Batch入门教程的最后一章内容:调用与传参.相信通过前面的学习,大家已经掌握了Windows Batch有关的基础知识和编程方法,以及利用Windows Batch建立初级的编程思维方式.今后 ...

  9. vue中实现动态切换不同的值

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. [Swift]LeetCode785. 判断二分图 | Is Graph Bipartite?

    Given an undirected graph, return true if and only if it is bipartite. Recall that a graph is bipart ...