在页面中显示图片的时候,由于单元格的高与宽没有图片的大,所以经常让图片把单元格变大,谁能帮帮我控制一下上传以后 显示出来的图片的大小是按比例变小啊。
解决方案 »
- 求一多对多的 可扩展算法
- 数据库插入问题,总提示错误,请高手指点一二!
- ----------------------获 取系 统 字 体 大 小 和 颜 色
- 关于.vb文件拷贝到其他目录后调用报错的问题
- 急救!为什么我的网页放在服务器上都配置好了,但访问的时候所有服务器控件都看不到?(分不够再加,只要能解决问题!)
- 请问如何统计在线用户,请大家给点意见,谢谢!
- 通过点击网页上的按钮调用本地的exe文件(outlook).进来交流!
- 请问如何获取嵌套datalist里checkbox的值
- ★★★★★★页面刷新,重复提交问题
- 很菜的问题2!(分不够我再加)
- DataTable中添加数据的问题。
- confirm问题
2 二.直接把image的宽高变乘一个比例.
上传图到数据库,如果上传的图过大,可以按比例缩放。
还可生成小的缩略图保存到数据库中。
using System.IO;
using System.Data.SqlClient;
using System.Configuration;private System.Drawing.Imaging.ImageFormat GetImageType(object strContentType)
{
if ((strContentType.ToString().ToLower()) == "image/pjpeg")
{
return System.Drawing.Imaging.ImageFormat.Jpeg;
}
else if ((strContentType.ToString().ToLower()) == "image/gif")
{
return System.Drawing.Imaging.ImageFormat.Gif;
}
else if ((strContentType.ToString().ToLower()) == "image/bmp")
{
return System.Drawing.Imaging.ImageFormat.Bmp;
}
else if ((strContentType.ToString().ToLower()) == "image/tiff")
{
return System.Drawing.Imaging.ImageFormat.Tiff;
}
else if ((strContentType.ToString().ToLower()) == "image/x-icon")
{
return System.Drawing.Imaging.ImageFormat.Icon;
}
else if ((strContentType.ToString().ToLower()) == "image/x-png")
{
return System.Drawing.Imaging.ImageFormat.Png;
}
else if ((strContentType.ToString().ToLower()) == "image/x-emf")
{
return System.Drawing.Imaging.ImageFormat.Emf;
}
else if ((strContentType.ToString().ToLower()) == "image/x-exif")
{
return System.Drawing.Imaging.ImageFormat.Exif;
}
else if ((strContentType.ToString().ToLower()) == "image/x-wmf")
{
return System.Drawing.Imaging.ImageFormat.Wmf;
}
else
{
return System.Drawing.Imaging.ImageFormat.MemoryBmp;
}
}
private byte[] imageToStream(int nWidth ,int nHeigth,Stream fileDataStream,string fileType)
{//这个对于大图效果就不好了。
//把image转成stream
System.Drawing.Image image;
image = System.Drawing.Image.FromStream(fileDataStream);
image = image.GetThumbnailImage(nWidth, nHeigth, null, IntPtr.Zero); Stream MemStream = new MemoryStream();
image.Save(MemStream,GetImageType(fileType));
//MemStream.WriteTo(Response.OutputStream); int fileLength = Convert.ToInt32(MemStream.Length);
byte[] fileData =new byte[fileLength]; //把文件流填充到数组
MemStream.Position = 0;
MemStream.Read(fileData,0,fileLength);
MemStream.Close(); return fileData; }