c# 对于图片处理的问题

justqken 2010-08-11 07:33:46
小弟在做一项目,需要在wap中显示图片。为了提高浏览速度,需要把图片处理小一点。有什么办法能把图片的大小改小点而不改变图片的尺寸呢? 希望各位大大能多给点意见。不胜感激。。
...全文
124 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
guohelv0519 2010-08-13
  • 打赏
  • 举报
回复
网络图片的常用格式为:bmp、jpg 和 gif,一般不要用 bmp,大多情况下用 jpg,如果你或你的用户能够容忍 gif,那么可以选择 gif。以上三种图片格式的优劣相比楼主知道,为什么会有以上的疑问?建议楼主采用 jpg 格式为上上策。
justqken 2010-08-13
  • 打赏
  • 举报
回复
嗯 谢谢各位的帮忙 这个问题已经解决了。。
asker1982 2010-08-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 justqken 的回复:]
请问你的这3个参数Bitmap bmp, string FileName, int Qty 分别是代表什么意思呀?
[/Quote]

Bitmap bmp 是你从源读进来的Bitmap对象(也可以从Image对象获得之)
string FileName 是处理以后要输出的路径
int Qty 是压缩质量
jrl5365 2010-08-12
  • 打赏
  • 举报
回复
jrl5365 2010-08-12
  • 打赏
  • 举报
回复
/**//// <summary>
/// 保存JPG时用
/// </summary>
/// <param name="mimeType"></param>
/// <returns>得到指定mimeType的ImageCodecInfo</returns>
private static ImageCodecInfo GetCodecInfo(string mimeType)
{
ImageCodecInfo[] CodecInfo = ImageCodecInfo.GetImageEncoders();
foreach (ImageCodecInfo ici in CodecInfo)
{
if (ici.MimeType == mimeType) return ici;
}
return null;
}


/**//// <summary>
/// 保存为JPEG格式,支持压缩质量选项
/// </summary>
/// <param name="bmp"></param>
/// <param name="FileName"></param>
/// <param name="Qty"></param>
/// <returns></returns>
public static bool KiSaveAsJPEG(Bitmap bmp, string FileName, int Qty)
{
try
{
EncoderParameter p;
EncoderParameters ps;

ps = new EncoderParameters(1);

p = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, Qty);
ps.Param[0] = p;

bmp.Save(FileName, GetCodecInfo("image/jpeg"), ps);

return true;
}
catch
{
return false;
}

}
justqken 2010-08-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
图片缩放操作<script language="JavaScript">
var flag=false;
function DrawImage(ImgD,iwidth,iheight){
var image=new Image();
image.src=ImgD.src;
if(image.width>0 && image.height>0){
flag=true;
……
[/Quote]

谢谢了,但是我是想有什么办法能改变图片的大小而不是尺寸哦。。
正如2楼的意思,但是在c#中怎么处理呢?
mngzilin 2010-08-12
  • 打赏
  • 举报
回复
将图像从RGB模式改到索引模式可以大幅度压缩
justqken 2010-08-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 justqken 的回复:]
引用 1 楼 wuyq11 的回复:
图片缩放操作<script language="JavaScript">
var flag=false;
function DrawImage(ImgD,iwidth,iheight){
var image=new Image();
image.src=ImgD.src;
if(image.width>0 &amp;&amp; im……
[/Quote]

请问你的这3个参数Bitmap bmp, string FileName, int Qty 分别是代表什么意思呀?
fengboyangjinfeng 2010-08-11
  • 打赏
  • 举报
回复
楼上 头像 够酷
mjp1234airen4385 2010-08-11
  • 打赏
  • 举报
回复
不改变尺寸的话,可以改变图片质量。
如果是jpg,就降低到50%左右。一般的jpg是80%左右的质量。
压缩到50%就行了。
wuyq11 2010-08-11
  • 打赏
  • 举报
回复
图片缩放操作<script language="JavaScript">
var flag=false;
function DrawImage(ImgD,iwidth,iheight){
var image=new Image();
image.src=ImgD.src;
if(image.width>0 && image.height>0){
flag=true;
if(image.width/image.height>= iwidth/iheight){
if(image.width>iwidth){
ImgD.width=iwidth;
ImgD.height=(image.height*iwidth)/image.width;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
ImgD.alt=image.width+"×"+image.height;
}
else{
if(image.height>iheight){
ImgD.height=iheight;
ImgD.width=(image.width*iheight)/image.height;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
ImgD.alt=image.width+"×"+image.height;
}

}
}

110,536

社区成员

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

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

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