Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]如何修改图片的位深度

1楼
流水 发表于:2024/8/15 9:49:00
用代码减小图片了的分辨率,但减小后的图片反而比原图还大;
原图是微信发过来的图片 
大小 393K,
位深度 24

修改后的图片反而有 
大小 2.5M;
位深度 32

比对了两个图片的不同,发现 位深度 不同;想求助 如何用代码修改位深度;
2楼
有点蓝 发表于:2024/8/15 9:55:00
使用了什么代码?
3楼
流水 发表于:2024/8/15 10:34:00
这个代码修改后是1.75MB

mark 缩放图片

 

Dim file As String = "d:\test.jpg"
Dim img As image = getImage(file)
Dim bmp As bitmap
If img.width > 800 Then
    If 800 * (img.height / img.width) > 600 Then
        bmp = new bitmap(img, 800*(600/(800*(img.height/img.width))), 600)
    Else
        bmp = new bitmap(img, 800, 800 * (img.height / img.width))
    End If
End If
bmp.save("d:\缩略图.jpg")
bmp.Dispose

[此贴子已经被作者于2024/8/15 10:34:48编辑过]
4楼
有点蓝 发表于:2024/8/15 12:03:00
换种方式试试

Dim file As String = "d:\test.jpg"
Dim img As image = getImage(file)
Dim bmp As bitmap
If img.width > 800 Then
    If 800 * (img.height / img.width) > 600 Then
        bmp = new bitmap(800*(600/(800*(img.height/img.width))), 600,PixelFormat.Format24bppRgb)
    Else
        bmp = new bitmap(800, 800 * (img.height / img.width),PixelFormat.Format24bppRgb)
    End If
Dim g = Graphics.FromImage(bmp)
Dim rectSrc As New System.Drawing.Rectangle(0, 0, bmp.Width, bmp.Height)
g.DrawImage(bmprectSrc , rectSrc, GraphicsUnit.Pixel)
g.Dispose()
bmp.Save("d:\缩略图.jpg",img.RawFormat)
bmp.Dispose
End If

5楼
流水 发表于:2024/8/15 13:32:00
这个可以,谢谢
共5 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .01880 s, 2 queries.