生成高清晰度的缩略图[方法1]

    技术2022-05-11  144

    public void pic_zero(string sourcepath,string aimpath,int scale){string originalFilename =sourcepath;//生成的高质量图片名称string strGoodFile =aimpath;

    //从文件取得图片对象System.Drawing.Image image = System.Drawing.Image.FromFile(originalFilename);int iImgWidth = image.Width;int iImgHeight = image.Height;int iScale = (iImgWidth / scale)>(iImgHeight/scale) ? (iImgWidth / scale) : (iImgHeight / scale);

    //取得图片大小System.Drawing.Size size = new Size(image.Width / iScale , image.Height / iScale);//新建一个bmp图片System.Drawing.Image bitmap = new System.Drawing.Bitmap(size.Width,size.Height);//新建一个画板System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap);//设置高质量插值法g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;//设置高质量,低速度呈现平滑程度g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;//清空一下画布g.Clear(Color.Blue);//在指定位置画图g.DrawImage(image, new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height), new System.Drawing.Rectangle(0, 0, image.Width,image.Height),System.Drawing.GraphicsUnit.Pixel);//保存高清晰度的缩略图bitmap.Save(strGoodFile, System.Drawing.Imaging.ImageFormat.Jpeg);g.Dispose();}


    最新回复(0)