加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

vb.net 教程 5-16 图像处理之ImageAttributes 类2 颜色矩阵3

发布时间:2020-12-17 07:32:58 所属栏目:百科 来源:网络整理
导读:继续上一节的讲解,看看之前 《vb.net 教程 5-16 图像处理之ImageAttributes 类1 颜色矩阵1》中讲到的其他几个特殊矩阵的使用。 '仅绿色分量 Private Sub Button11_Click(sender As Object,e As EventArgs) Handles Button11.Click Dim imageAttributes As N

继续上一节的讲解,看看之前 《vb.net 教程 5-16 图像处理之ImageAttributes 类1 颜色矩阵1》中讲到的其他几个特殊矩阵的使用。

    '仅绿色分量
    Private Sub Button11_Click(sender As Object,e As EventArgs) Handles Button11.Click
        Dim imageAttributes As New ImageAttributes()
        '仅绿色分量
        Dim imgMatrixElement()() As Single = {
          New Single() {0,0},New Single() {0,1,0}
        }

        Dim imgMatrix As New ColorMatrix(imgMatrixElement)
        imageAttributes.SetColorMatrix(imgMatrix,ColorMatrixFlag.Default,ColorAdjustType.Bitmap)

        Dim destImg As New Bitmap(sourceImg.Width,sourceImg.Height)
        Dim g As Graphics = Graphics.FromImage(destImg)
        g.DrawImage(sourceImg,New Rectangle(0,sourceImg.Width,sourceImg.Height),sourceImg.Height,GraphicsUnit.Pixel,imageAttributes)

        picDest.Image = destImg
    End Sub


    '仅蓝色分量
    Private Sub Button12_Click(sender As Object,e As EventArgs) Handles Button12.Click
        Dim imageAttributes As New ImageAttributes()
        '仅蓝色分量
        Dim imgMatrixElement()() As Single = {
          New Single() {0,imageAttributes)

        picDest.Image = destImg
    End Sub


    '灰度:指数加权法
    Private Sub Button13_Click(sender As Object,e As EventArgs) Handles Button13.Click
        Dim imageAttributes As New ImageAttributes()
        '灰度
        Dim imgMatrixElement()() As Single = {
          New Single() {0.3,0.3,New Single() {0.59,0.59,New Single() {0.11,0.11,imageAttributes)

        picDest.Image = destImg
    End Sub


    '逆反
    Private Sub Button14_Click(sender As Object,e As EventArgs) Handles Button14.Click
        Dim imageAttributes As New ImageAttributes()
        '逆反
        Dim imgMatrixElement()() As Single = {
          New Single() {-1,-1,New Single() {1,imageAttributes)

        picDest.Image = destImg
    End Sub



传入的矩阵不同,输出图像的颜色不同。

由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。

学习更多vb.net知识,请参看 vb.net 教程 目录

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读