永发信息网

如何在.NET平台下用C#代码实现图片的上传与裁剪和压缩、

答案:2  悬赏:60  手机版
解决时间 2021-03-11 11:06
如何在.NET平台下用C#代码实现图片的上传与裁剪和压缩、
最佳答案
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Drawing;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{

//检查上传文件的格式是否有效
if(this.FileUpload1.PostedFile.ContentType.ToLower().IndexOf("image") < 0)
{
Response.Write("上传图片格式无效!");
return;
}
//生成原图
Byte[] oFileByte = new byte[this.FileUpload1.PostedFile.ContentLength];
System.IO.Stream oStream = this.FileUpload1.PostedFile.InputStream;
System.Drawing.Image oImage = System.Drawing.Image.FromStream(oStream);
int oWidth = oImage.Width; //原图宽度
int oHeight = oImage.Height; //原图高度
int tWidth = 100; //设置缩略图初始宽度
int tHeight = 100; //设置缩略图初始高度
//按比例计算出缩略图的宽度和高度
if(oWidth >= oHeight)
{
tHeight = (int)Math.Floor(Convert.ToDouble(oHeight) * (Convert.ToDouble(tWidth)
/ Convert.ToDouble(oWidth)));
}
else
{
tWidth = (int)Math.Floor(Convert.ToDouble(oWidth) * (Convert.ToDouble(tHeight)
/ Convert.ToDouble(oHeight)));
}

//生成缩略原图
Bitmap tImage = new Bitmap(tWidth,tHeight);
Graphics g = Graphics.FromImage(tImage);
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//设置高质量插值法
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//设置高质量,低速度呈现平滑程度
g.Clear(Color.Transparent); //清空画布并以透明背景色填充
g.DrawImage(oImage,new Rectangle(0,0,tWidth,tHeight),
new Rectangle(0,0,oWidth,oHeight),GraphicsUnit.Pixel);
string oFullName = Server.MapPath(".") + "/" + "o" +
DateTime.Now.ToShortDateString().Replace("-","") + DateTime.Now.Hour.ToString()
+ DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString()
+ DateTime.Now.Millisecond.ToString() + ".jpg"; //保存原图的物理路径
string tFullName = Server.MapPath(".") + "/" + "t" +
DateTime.Now.ToShortDateString().Replace("-","") + DateTime.Now.Hour.ToString()
+ DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString()
+ DateTime.Now.Millisecond.ToString() + ".jpg"; //保存缩略图的物理路径
try
{
//以JPG格式保存图片
oImage.Save(oFullName,System.Drawing.Imaging.ImageFormat.Jpeg);
tImage.Save(tFullName,System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch(Exception ex)
{
throw ex;
}
finally
{
//释放资源
oImage.Dispose();
g.Dispose();
tImage.Dispose();
}
}
}
全部回答
这段是jquery的代码。 如果你想获取客户端的图片路径是不可以的。这是出于对客户端的安全保护。 你必须把客户端的图片保存到服务器上,还后再在服务器上进行图片处理。 src: 'images/lulu.jpg',//找到图片 这行代码的图片路径,应该是你的服务器保存的图片的路径。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
财政3号地址在哪,我要去那里办事
吉斯床垫好还是喜临门的好
离昌硕最近的华夏银行不要自动取款机
氯化铁溶液发不发生丁达尔效应
新县宾馆-宴会中心在什么地方啊,我要过去处
nrf24l01用可不可以两节干电池供电,不能的话
中国电信猫上面的符号网络e/g灯亮正常吗
怎样才能让前夫不再纠缠,他是一个偏执狂的疯
最近发生在美国墨西哥湾的石油泄露事件对生物
怎样知道车辆是否购买强险和商业险?
翰林图文怎么去啊,有知道地址的么
从从郑州到北京有多远
单选题下列对微生物的生长、繁殖作用不大的代
KR是哪个气瓶制造单位的代码?
1987年阴历6月28日是什么星座?是几月份?不
推荐资讯
今年腊月什么时候乔迁新居比较好,房子朝东北
为什么用体型系数判断用不用权衡
qq老是被冻结,说发违法的信息,我也没发啊,
我儿子快中考了我送他什么礼物能帮助他学习呢
何洼地址有知道的么?有点事想过去
梦见久卧病床的奶奶可以坐起来了
《天外飞仙》中的上官浩琪喜欢的不是赛金吗?
灵川县桂林百世快递怎么去啊,谁知道地址啊
备案主体和网站的关系是什么?
【turnover】化工中的turnoverrate是怎么定义
太阳能专用控制器(蜀旺)怎么调时间
鱼刺怎么煮就软了
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?