Wednesday, October 6, 2010

how to resize image and show resized image

step 1: Take a image button and assign ImageUrl is equal to original Image Path
Eg :- Image.ImageUrl = "image/originalImage.jpeg"

Step 2: Then On pageLoad write the code:-
Image.ImageUrl = "view.aspx?imgUrl =" + Image.ImageUrl + "&Width=100&Height=100";

step 3: write the Following Coding on the view.aspx Page:-


private void Page_Load(object sender, System.EventArgs e)
{
string url="../Products/image/imageNot.jpg";
int Weight=60,Height=60;
if(Request.QueryString["URL"]!=null)
{
url = Request.QueryString["URL"].ToString();
Weight = Convert.ToInt32(Request.QueryString["Width"].ToString());
Height = Convert.ToInt32(Request.QueryString["Height"].ToString());
}
Resize(url,Weight,Height);
}

public void Resize(string strPath, int Weight, int Height)
{
string strFile = strPath.Substring(strPath.LastIndexOf("/")+1);
string urlPhysical = HttpContext.Current.Server.MapPath(strPath);
if(!File.Exists(urlPhysical))
{
urlPhysical = HttpContext.Current.Server.MapPath("../images/imageNot.jpg");
}
Bitmap btm = ResizeImage(urlPhysical,Weight,Height);
ImageConverter ic = new ImageConverter();
byte[] btImage1 = new byte[1];
btImage1 = (byte[])ic.ConvertTo(btm, btImage1.GetType());
Response.BinaryWrite(btImage1);
}

public Bitmap ResizeImage(string url, int intH,int intW)
{
Bitmap objImg = new Bitmap(url);
Bitmap outputImage = new Bitmap(intW, intH, objImg.PixelFormat);
outputImage.SetResolution(objImg.HorizontalResolution, objImg.VerticalResolution);
Graphics graphics = Graphics.FromImage(outputImage);
graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
graphics.DrawImage(objImg, new Rectangle(0, 0, intW, intH),new Rectangle(4, 4, objImg.Width-4, objImg.Height-4), GraphicsUnit.Pixel);
graphics.Dispose();
return outputImage;
}

No comments: