关于GDI+的问题(C#),希望各路神仙指点...

ZXY900213 2011-06-21 11:57:13
using (System.Drawing.Image img = System.Drawing.Image.FromFile("E://a.jpg"))//a.jpg的尺寸是1024*768,文件大小333KB
{
using (Bitmap map = new Bitmap(950, 250, System.Drawing.Imaging.PixelFormat.Format24bppRgb))
{
using (Graphics gdi = Graphics.FromImage(map))
{
Rectangle rect = new Rectangle(0, 0, 950, 250);// 在原图片上截取一个950*250尺寸的图片
gdi.DrawImage(imgPicture, rect, rect, GraphicsUnit.Pixel);// 截取原图片的一部分(还不到原图片的三分之一)
map.Save("E://b.jpg");// 保存后的图片,图片尺寸为950*250,大小为346KB
}
}
}


为什么我只截取原图片大小的三分之一,保存后的图片大小反而比原图片还大13KB呢?大家知道什么问题吗?能否指点下小弟,多谢...
...全文
84 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZXY900213 2011-06-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fengyarongaa 的回复:]
或许别人的图片是压缩了显示的
你截取的 图片格式和别的一些东西都取决你的 图片的大小这个没有定数的
[/Quote]

压缩了?那能不能把截取的图片也压缩显示呢?
ycproc 2011-06-21
  • 打赏
  • 举报
回复
或许别人的图片是压缩了显示的
你截取的 图片格式和别的一些东西都取决你的 图片的大小这个没有定数的
ZXY900213 2011-06-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xuexiaodong2009 的回复:]
引用 5 楼 zxy900213 的回复:

多谢小薛,能不能让他根据我的后缀名来自动选择格式保存?
假如图片是用户上传的,而我想以他上传的原始格式保存,如果是这样的话,我得一个个去判断他的格式。有没有更好的办法?
自己写方法吧,switch case就行了
[/Quote]

谢谢,就是觉得有点麻烦...
xuexiaodong2009 2011-06-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zxy900213 的回复:]

多谢小薛,能不能让他根据我的后缀名来自动选择格式保存?
假如图片是用户上传的,而我想以他上传的原始格式保存,如果是这样的话,我得一个个去判断他的格式。有没有更好的办法?
[/Quote]自己写方法吧,switch case就行了
ZXY900213 2011-06-21
  • 打赏
  • 举报
回复
多谢小薛,能不能让他根据我的后缀名来自动选择格式保存?
假如图片是用户上传的,而我想以他上传的原始格式保存,如果是这样的话,我得一个个去判断他的格式。有没有更好的办法?
ZXY900213 2011-06-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xuexiaodong2009 的回复:]
默认好像是bmp格式的,保存也有格式的,那个参数加上试试,注意不是文件后缀
[/Quote]

果然是。
map.Save("E://b.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
我一直以为只要我的后缀名是.jpg,他就会帮我以jpg的格式输出。原来不是这么回事...
xuexiaodong2009 2011-06-21
  • 打赏
  • 举报
回复
默认好像是bmp格式的,保存也有格式的,那个参数加上试试,注意不是文件后缀

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧