C#上传png图片并缩小 35

如何用C#上传png图片并缩小,我目前使用oriImg.GetThumbnailImage这种方法,但是图片大小是缩小了,可是图片的k数反而增加了,请问大家有没有什么好方... 如何用C#上传png图片并缩小, 我目前使用oriImg.GetThumbnailImage这种方法,但是图片大小是缩小了,可是图片的k数反而增加了,请问大家有没有什么好方法阿,既能缩小图片,又不增加图片的k数。
cmnh4回答的是可以把图片缩小,但是占用空间反而增大了,我现在需要的是占用空间也要缩小
展开
 我来答
百度网友6a92f43a5
2008-06-30 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:198
采纳率:0%
帮助的人:147万
展开全部
对图像进行重绘。
给你一个VB.NET写的函数,自己改成c#的就能用了
Private Function ImageCompress(ByVal SourceImage As Drawing.Image, ByVal Width As Integer, ByVal Height As Integer) As Drawing.Image
Dim sw As Integer, sh As Integer
sw = SourceImage.Width
sh = SourceImage.Height
If sw < Width Or sh < Height Then
Throw New InvalidOperationException("无法处理该图片,因为该图片的大小不符合。")
End If
Dim pw As Double, ph As Double, nw As Integer, nh As Integer, ox As Integer, oy As Integer
pw = sw / Width
ph = sh / Height
If pw > ph Then
nw = Width * ph
nh = Height * ph
ox = (sw - Width * ph) / 2
oy = 0
Else
nw = Width * pw
nh = Height * pw
ox = 0
oy = (sh - Height * pw) / 2
End If
Dim newimg As Drawing.Image = New Drawing.Bitmap(Width, Height)
Using g As Drawing.Graphics = Drawing.Graphics.FromImage(newimg)
g.DrawImage(SourceImage, New Drawing.Rectangle(0, 0, Width, Height), New Drawing.Rectangle(ox, oy, nw, nh), Drawing.GraphicsUnit.Pixel)
End Using
Return newimg
End Function
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式