以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  【已解决】[求助]如何将图片转换为黑白的、如何将图片压缩指定大小  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=135157)

--  作者:zto001
--  发布时间:2019/5/19 12:44:00
--  【已解决】[求助]如何将图片转换为黑白的、如何将图片压缩指定大小
[求助]
1、如何将图片转换为黑白的,并存储在同路径下
2、如何将图片压缩指定大小,并存储在同路径下

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

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

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

--  作者:有点甜
--  发布时间: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
--  发布时间: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
--  发布时间: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或者本地。怎么弄?


--  作者:有点甜
--  发布时间:2019/5/22 9:40:00
--  
以下是引用zto001在2019/5/22 9:30:00的发言:

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

 

比如

 

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


--  作者:wfkbabro
--  发布时间:2021/9/7 21:36:00
--  
收藏。