以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 图片大小 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=162245) |
-- 作者:qaz17909 -- 发布时间: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") |
-- 作者:有点蓝 -- 发布时间: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) |