Foxtable(狐表)用户栏目专家坐堂 → [讨论] FB如何让头像变灰?


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

主题:[讨论] FB如何让头像变灰?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/7 12:02:00 [显示全部帖子]

 Windows.Forms.ControlPaint.DrawImageDisabled(Graphics.FromImage(图像), 图像, 0, 0, Color.Transparent) 直接使用这段代码就可以的了.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/7 12:22:00 [显示全部帖子]

如果希望用代码实现,(可控性比较高) 可以参考我的代码. 可以实现任意灰度,反色 颜色修改等.

Dim SImage As Image = Image.FromFile("C:\Users\foxtable1\Desktop\70b70d98-1228-4487-93a5-6f7056628d00.jpg")
Dim Height As Integer = SImage.Height
Dim Width  As Integer = SImage.Width
Dim bitmap As Bitmap = new Bitmap(Width, Height)
Dim MyBitmap As Bitmap= SImage
Dim pixel As Color
For  x As Integer = 0 To Width-1
    For  y As Integer = 0 To Height-1
        pixel = MyBitmap.GetPixel(x, y)
        Dim r As Integer = 0
        Dim g As Integer = 0
        Dim b As Integer = 0
        Dim Result As Integer = 0
        r = pixel.R
        g = pixel.G
        b = pixel.B
        Dim iType As Integer = 2
        Select Case iType
            Case 0 '平均值法
                Result = ((r + g + b) / 3)
            Case 1 '最大值法
                Result = IIF(r > g ,r , g)
                Result = IIF(Result > b,Result,b)
            Case 2 '加权平均值法
                Result = ((0.7 * r) + (0.2 * g) + (0.1 * b))
        End Select
        bitmap.SetPixel(x, y, Color.FromArgb(Result, Result, Result))
    Next
Next
bitmap.Save("C:\Users\foxtable1\Desktop\28d00.jpg")

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/7 14:15:00 [显示全部帖子]

以下是引用don在2013-5-7 13:34:00的发言:
这个一样报错.

参考我的代码,经常测试的.没有问题.

 回到顶部