DSAPI多功能组件编程应用图形图像篇(中)

[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)





自动备注:本博所有文章均为博主本人编写,未经许可谢绝任何形式的转载。
博主使用VB.NET语言,如您使用C#语言,可下载VB.NET/C#代码转换工具
原文地址:https://www.cnblogs.com/dylike/p/10575984.html