最近做网页,遇到这样个情况:
对在线的一张图片进行处理,剪切之后再显示到页面上。
其实对图片进行crop或者cut很简单,关键是cut之后的图片不能保存到本地,直接显示到页面或者其他的地方。
1. 从网络加载图片(Bitmap以流的方式加载)
string imgUrl = "http://...gif";
WebClient wc = new WebClient();
Stream stream = wc.OpenRead(imgUrl);
CropImg(stream, x, y, width, height );
2. Cropimg
private void CropImg(Stream stream, int x, int y, int width, int height) { using (Bitmap orginal = new Bitmap(stream)) { using (Bitmap newimage = new Bitmap(width, height)) { using (Graphics newgraphics = Graphics.FromImage(newimage)) { newgraphics.DrawImage(orginal, 0, 0, new Rectangle(x, y, width, height), GraphicsUnit.Pixel); newgraphics.Flush(); } /*newimage.Save("c://out.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);*/ /*MemoryStream ms = new MemoryStream();*/ /*newimage.Save(ms, ImageFormat.Jpeg); */ Response.ContentType = "image/Jpeg"; newimage.Save(Response.OutputStream, ImageFormat.Jpeg); } } }