Foxtable(狐表)用户栏目专家坐堂 → 图片大小


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

主题:图片大小

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


加好友 发短信
等级:三尾狐 帖子:778 积分:8879 威望:0 精华:0 注册:2017/1/26 14:38:00
图片大小  发帖心情 Post By:2021/4/10 8:20:00 [只看该作者]

将一个大小为71k的原图(像素为600*800)用如下代码缩小后,新图的大小反而变大为819k(像素为500*667),通过属性发现是位深度发生变化由24变大为32,可否设置该值使图片大小变小?
Dim file As String = "d:\test.jpg"
Dim img As image = getImage(file)
Dim bmp As new bitmap(img, 500, 500 * (img.height / img.width))
bmp.save("d:\缩略图.jpg")

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


加好友 发短信
等级:超级版主 帖子:107474 积分:546649 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/10 11:16:00 [只看该作者]

试试:bmp.save("d:\缩略图.jpg",img.RawFormat)

或者试试
Dim file As String = "d:\test.jpg"
Dim bmpSrc As New Bitmap(file)
Dim bmpDest As New Bitmap(500, 500 * (bmpSrc.height / bmpSrc.width),System.Drawing.Imaging.PixelFormat.Format24bppRgb)
Dim g = Graphics.FromImage(bmpDest)
Dim rectDest As New System.Drawing.Rectangle(0, 0, 100, 100)
Dim rectSrc As New System.Drawing.Rectangle(0, 0, bmpSrc.Width, bmpSrc.Height)
g.DrawImage(bmpSrc, rectDest, rectSrc, GraphicsUnit.Pixel)
g.Dispose()
bmpDest.Save("d:\缩略图.jpg",img.RawFormat)

 回到顶部