Foxtable(狐表)用户栏目专家坐堂 → [求助]如何将彩色图片保存为黑白图片


  共有4907人关注过本帖树形打印复制链接

主题:[求助]如何将彩色图片保存为黑白图片

帅哥哟,离线,有人找我吗?
黄训良
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1100 积分:8985 威望:0 精华:0 注册:2014/3/15 14:36:00
[求助]如何将彩色图片保存为黑白图片  发帖心情 Post By:2015/4/24 21:45:00 [只看该作者]

请教:如何将彩色图片保存为黑白图片

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/4/24 22:19:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
黄训良
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1100 积分:8985 威望:0 精华:0 注册:2014/3/15 14:36:00
  发帖心情 Post By:2015/4/24 23:17:00 [只看该作者]

谢谢老大,成了,贴出代码分享:

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "图片文件|*.jpg;*.png" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
   
    Dim omg As Image
    omg = GetImage(dlg.FileName)
    Dim Height As Integer = omg.Height
    Dim Width As Integer = omg.Width
    Dim newBitmap As Bitmap = New Bitmap(Width, Height)
    Dim oldBitmap As Bitmap = omg
    Dim pixel As Color
    For x As Integer = 1 To Width - 1
        For y As Integer = 1 To Height - 1
            pixel = oldBitmap.GetPixel(x, y)
            Dim r, g, b As Integer, Result As Integer = 0
            r = pixel.R
            g = pixel.G
            b = pixel.B
            Result = 0.7 * r + 0.2 * g + 0.1 * b
            newBitmap.SetPixel(x, y, Color.FromArgb(Result, Result, Result))
        Next
    Next

    Dim pb As WinForm.PictureBox = e.Form.Controls("PictureBox1")

     pb.Image = newbitmap
End If


 回到顶部
帅哥哟,离线,有人找我吗?
黄训良
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1100 积分:8985 威望:0 精华:0 注册:2014/3/15 14:36:00
  发帖心情 Post By:2015/4/24 23:25:00 [只看该作者]

上个图吧!

 


图片点击可在新窗口打开查看此主题相关图片如下:彩色转黑白.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
黄训良
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1100 积分:8985 威望:0 精华:0 注册:2014/3/15 14:36:00
  发帖心情 Post By:2015/4/25 10:07:00 [只看该作者]

谢谢天问者! 但黑白对比度偏小。
[此贴子已经被作者于2015/4/25 10:09:09编辑过]

 回到顶部