vb.net 教程 5-13 图像处理之像素处理 5
来源:互联网 发布:ecshop源码下载 编辑:程序博客网 时间:2024/06/03 14:35
自己胡乱想出来的几个自定义的图像颜色处理方法:
1、R、G、B中最大的
R最大返回(255, 0, 0)
G最大返回(0, 255, 0)
B最大返回(0, 0, 255)
2、R、G、B中最大的
R最大返回(R, 0, 0)
G最大返回(0, G, 0)
B最大返回(0, 0, B)
3、R、G、B中最大的
R最大返回(R, R, R)
G最大返回(G, G, G)
B最大返回(B, B, B)
用到一个自定义方法,返回R、G、B中最大的值的分量名称
Private Function getMax(ByVal r As Integer, ByVal g As Integer, ByVal b As Integer) As String If r > g And r > b Then Return "r" If g > r And g > b Then Return "g" If b > r And b > g Then Return "b" Return "b" End Function
主要代码:
'自定义1 Private Sub btnCustom1_Click(sender As Object, e As EventArgs) Handles btnCustom1.Click Dim pSourceColor As Color Dim pDestColor As Color Dim destImg As New Bitmap(sourceImg.Width, sourceImg.Height) Dim R, G, B As Integer For i As Integer = 0 To sourceImg.Width - 1 For j As Integer = 0 To sourceImg.Height - 1 pSourceColor = sourceImg.GetPixel(i, j) R = pSourceColor.R G = pSourceColor.G B = pSourceColor.B Select Case getMax(R, G, B) Case "r" pDestColor = Color.FromArgb(255, 0, 0) Case "g" pDestColor = Color.FromArgb(0, 255, 0) Case Else pDestColor = Color.FromArgb(0, 0, 255) End Select destImg.SetPixel(i, j, pDestColor) Next Next picDest.Image = destImg End Sub '自定义2 Private Sub btnCustom2_Click(sender As Object, e As EventArgs) Handles btnCustom2.Click Dim pSourceColor As Color Dim pDestColor As Color Dim destImg As New Bitmap(sourceImg.Width, sourceImg.Height) Dim R, G, B As Integer For i As Integer = 0 To sourceImg.Width - 1 For j As Integer = 0 To sourceImg.Height - 1 pSourceColor = sourceImg.GetPixel(i, j) R = pSourceColor.R G = pSourceColor.G B = pSourceColor.B Select Case getMax(R, G, B) Case "r" pDestColor = Color.FromArgb(R, 0, 0) Case "g" pDestColor = Color.FromArgb(0, G, 0) Case Else pDestColor = Color.FromArgb(0, 0, B) End Select destImg.SetPixel(i, j, pDestColor) Next Next picDest.Image = destImg End Sub '自定义3 Private Sub btnCustom3_Click(sender As Object, e As EventArgs) Handles btnCustom3.Click Dim pSourceColor As Color Dim pDestColor As Color Dim destImg As New Bitmap(sourceImg.Width, sourceImg.Height) Dim R, G, B As Integer For i As Integer = 0 To sourceImg.Width - 1 For j As Integer = 0 To sourceImg.Height - 1 pSourceColor = sourceImg.GetPixel(i, j) R = pSourceColor.R G = pSourceColor.G B = pSourceColor.B Select Case getMax(R, G, B) Case "r" pDestColor = Color.FromArgb(R, R, R) Case "g" pDestColor = Color.FromArgb(G, G, G) Case Else pDestColor = Color.FromArgb(B, B, B) End Select destImg.SetPixel(i, j, pDestColor) Next Next picDest.Image = destImg End Sub
运行效果:
由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。
学习更多vb.net知识,请参看vb.net 教程 目录
0 0
- vb.net 教程 5-13 图像处理之像素处理 5
- vb.net 教程 5-13 图像处理之像素处理1
- vb.net 教程 5-13 图像处理之像素处理 2
- vb.net 教程 5-13 图像处理之像素处理 3
- vb.net 教程 5-13 图像处理之像素处理 4
- vb.net 教程 5-13 图像处理之像素处理 6
- vb.net 教程 5-13 图像处理之像素处理 7
- vb.net 教程 5-13 图像处理之像素处理 8-1
- vb.net 教程 5-13 图像处理之像素处理 8-2
- vb.net 教程 5-13 图像处理之像素处理 8-3
- vb.net 教程 5-16 图像处理之ImageAttributes 类2 颜色矩阵5
- vb.net 教程 5-16 图像处理之ImageAttributes 类1 伽玛、阈值和颜色替换
- vb.net 教程 5-16 图像处理之ImageAttributes 类2 颜色矩阵1
- vb.net 教程 5-16 图像处理之ImageAttributes 类2 颜色矩阵2
- vb.net 教程 5-16 图像处理之ImageAttributes 类2 颜色矩阵3
- vb.net 教程 5-16 图像处理之ImageAttributes 类2 颜色矩阵4
- vb.net 教程 5-14 图像处理之内存处理基础5
- vb.net 教程 5-15 图像处理之内存处理 5
- Win10下Python的安装及相关库的安装
- python——爬虫学习——Beautiful Soup库的使用-(2)
- 文章标题
- 外挂学习之路(13)--- 地图资源的提取
- 给初学者的RxJava2.0教程(九)
- vb.net 教程 5-13 图像处理之像素处理 5
- ✅典型的setting画面
- Leetcode 287. Find the Duplicate Number
- Maven常见问题、异常、错误整理【持续更新】
- 前端实时搜索功能
- 重修大学JAVA课--应用类型比较器的实现方法
- HTML中属性id和属性name有何区别?
- CMD查看本机IP
- word-ladder