WEB开发网
开发学院网页设计JavaScript js + .Net 图片切割系统 阅读

js + .Net 图片切割系统

 2010-09-14 13:24:56 来源:WEB开发网   
核心提示: 切割宽度:CutWidth * imgPhoto.Width / PicWidth;垂直切割点:PointY * imgPhoto.Height / PicHeight;切割高度:CutHeight * imgPhoto.Height / PicHeight,用这些参数就可以对原图进行切割

切割宽度:CutWidth * imgPhoto.Width / PicWidth;

垂直切割点:PointY * imgPhoto.Height / PicHeight;

切割高度:CutHeight * imgPhoto.Height / PicHeight。

用这些参数就可以对原图进行切割了。

然后是缩放原图。可以想象,当切割好原图后,只要把图宽高缩放到CutWidth和CutHeight就可以得到跟展示图一样的图片了:

new Rectangle(0, 0, CutWidth, CutHeight),

下面是处理图片的程序:

Code

  public MemoryStream ResetImg(string ImgFile, int PicWidth, int PicHeight, int PointX, int PointY, int CutWidth, int CutHeight)
  {
    Image imgPhoto = Image.FromFile(ImgFile);
    Bitmap bmPhoto = new Bitmap(CutWidth, CutHeight, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
  
    Graphics gbmPhoto = Graphics.FromImage(bmPhoto);
    gbmPhoto.DrawImage(imgPhoto, new Rectangle(0, 0, CutWidth, CutHeight), PointX * imgPhoto.Width / PicWidth, PointY * imgPhoto.Height / PicHeight, CutWidth * imgPhoto.Width / PicWidth, CutHeight * imgPhoto.Height / PicHeight, GraphicsUnit.Pixel);
  
    MemoryStream ms2 = new MemoryStream();
    bmPhoto.Save(ms2, System.Drawing.Imaging.ImageFormat.Jpeg);
  
    imgPhoto.Dispose();
    gbmPhoto.Dispose();
    bmPhoto.Dispose();
  
    return ms2;
  }

当然对于不同的需求可能要生成的效果也不一样,但只要能灵活运用对于一般的需求基本都能实现了。

上一页  1 2 3 4  下一页

Tags:js Net 图片

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接