Foxtable(狐表)用户栏目专家坐堂 → 【已解决】[求助]如何将图片转换为黑白的、如何将图片压缩指定大小


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

主题:【已解决】[求助]如何将图片转换为黑白的、如何将图片压缩指定大小

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


加好友 发短信
等级:六尾狐 帖子:1489 积分:10602 威望:0 精华:0 注册:2018/10/16 11:42:00
【已解决】[求助]如何将图片转换为黑白的、如何将图片压缩指定大小  发帖心情 Post By:2019/5/19 12:44:00 [只看该作者]

[求助]
1、如何将图片转换为黑白的,并存储在同路径下
2、如何将图片压缩指定大小,并存储在同路径下

想问问能做吗?代码怎么写?

图片路径  F:\图片\彩色图片.jpg

[此贴子已经被作者于2019/5/22 12:09:17编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/19 15:56:00 [只看该作者]

1、参考

 

http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=101287&skin=0

 

http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=67496&skin=0

 

2、参考

 

1、你可以把图片的尺寸处理下,参考

 

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=89637

 

2、你还可以在缩小图片尺寸的基础下,再控制图片质量

 

 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=101560&skin=0


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


加好友 发短信
等级:六尾狐 帖子:1489 积分:10602 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/5/22 9:29:00 [只看该作者]

图片缩小:缩小至60  80以内
Dim file As String = "C:\测试.jpg"
Dim img As image = getImage(file)
Dim bmp As bitmap
If img.width > 80 Then
    If 80 * (img.height / img.width) > 60 Then
        bmp = new bitmap(img, 80*(60/(80*(img.height/img.width))), 60)
    Else
        bmp = new bitmap(img, 80, 80 * (img.height / img.width))
    End If
End If
bmp.save("C:\缩略图.jpg")
bmp.Dispose


质量保存

Dim img As image = getimage("g:\aaa.jpg")
Dim bmp As new bitmap(img.width, img.height)
Dim g = graphics.fromimage(bmp)
g.DrawImage(img, 0, 0, img.Width, img.Height)
Dim jpgEncoder As ImageCodecInfo
Dim codecs() As ImageCodecInfo = ImageCodecInfo.GetImageDecoders
For Each codec As ImageCodecInfo In codecs
    If (codec.FormatID = ImageFormat.Jpeg.Guid) Then
        jpgEncoder = codec
        Exit For
    End If
Next
 Dim myEncoder As System.Drawing.Imaging.Encoder = System.Drawing.Imaging.Encoder.Quality
Dim myEncoderParameters As EncoderParameters = New EncoderParameters(1)
Dim myEncoderParameter As EncoderParameter = New EncoderParameter(myEncoder, 30) ' 质量级别 0 对应于最大压缩,而质量级别 100 对应于最小压缩
myEncoderParameters.Param(0) = myEncoderParameter

bmp.Save("g:\压缩图aaa.jpg", jpgEncoder, myEncoderParameters)
bmp.dispose

g.dispose



图片黑白
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter = "图片文件|*.jpg;*.png" '设置筛选器
If dlg.ShowDialog = DialogResult.OK Then '如果用户单击了确定按钮
    Dim omg As Image = GetImage(dlg.FileName)
    Windows.Forms.ControlPaint.DrawImageDisabled(Graphics.FromImage(omg), omg, 0, 0, Color.Transparent)
     Forms("窗口1").Controls("PictureBox1").Image = omg
End If

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


加好友 发短信
等级:六尾狐 帖子:1489 积分:10602 威望:0 精华:0 注册:2018/10/16 11:42:00
  发帖心情 Post By:2019/5/22 9:30:00 [只看该作者]

这里有点问题
图片黑白
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter = "图片文件|*.jpg;*.png" '设置筛选器
If dlg.ShowDialog = DialogResult.OK Then '如果用户单击了确定按钮
    Dim omg As Image = GetImage(dlg.FileName)
    Windows.Forms.ControlPaint.DrawImageDisabled(Graphics.FromImage(omg), omg, 0, 0, Color.Transparent)
     Forms("窗口1").Controls("PictureBox1").Image = omg
End If

如果这里我想存到ftp或者本地。怎么弄?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/22 9:40:00 [只看该作者]

以下是引用zto001在2019/5/22 9:30:00的发言:

如果这里我想存到ftp或者本地。怎么弄?

 

比如

 

omg.save("d:\test.jpg")


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


加好友 发短信
等级:童狐 帖子:269 积分:2425 威望:0 精华:0 注册:2011/10/21 17:07:00
  发帖心情 Post By:2021/9/7 21:36:00 [只看该作者]

收藏。

 回到顶部