Tuesday, January 26, 2010

Resize the Image using The C# code Without Changing Image Resolution

string sSavePath;
string sThumbExtension;
int intThumbWidth;
int intThumbHeight;
sSavePath = “../upload/category/”;
sThumbExtension = “_thumb”;
intThumbWidth = 65;
intThumbHeight = 57;
HttpPostedFile myFile = (HttpPostedFile)(fileupload.PostedFile);
int nFileLen = myFile.ContentLength;
if (nFileLen == 0)
{
errormsg.Visible = true;
errormsg.Text = “There wasn’t any file uploaded.”;
return;
}
byte[] myData = new Byte[nFileLen];
myFile.InputStream.Read(myData, 0, nFileLen);
// Make sure a duplicate file doesn’t exist.  If it does, keep on appending an incremental numeric until it is unique
string sFilename = System.IO.Path.GetFileName(myFile.FileName);
int file_append = 0;
while (System.IO.File.Exists(Server.MapPath(sSavePath + sFilename)))
{
file_append++;
sFilename = System.IO.Path.GetFileNameWithoutExtension(myFile.FileName) + file_append.ToString() + “”;
}
// Save the stream to disk
System.IO.FileStream newFile = new System.IO.FileStream(Server.MapPath(sSavePath + sFilename), System.IO.FileMode.Create);
newFile.Write(myData, 0, myData.Length);
newFile.Close();
System.Drawing.Image.GetThumbnailImageAbort myCallBack = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
Bitmap myBitmap;
try
{
myBitmap = new Bitmap(Server.MapPath(sSavePath + sFilename));
// If jpg file is a jpeg, create a thumbnail filename that is unique.
file_append = 0;
string sThumbFile = System.IO.Path.GetFileNameWithoutExtension(myFile.FileName) + sThumbExtension + “.gif”;
while (System.IO.File.Exists(Server.MapPath(sSavePath + sThumbFile)))
{
file_append++;
sThumbFile = System.IO.Path.GetFileNameWithoutExtension(myFile.FileName) + file_append.ToString() + sThumbExtension + “.gif”;
}
// Save thumbnail and output it onto the webpage
System.Drawing.Image myThumbnail = myBitmap.GetThumbnailImage(intThumbWidth, intThumbHeight, myCallBack, IntPtr.Zero);
myThumbnail.Save(Server.MapPath(sSavePath + sThumbFile));
//imgPicture.ImageUrl = sSavePath + sThumbFile;
filesave = sThumbFile;
// Displaying success information
errormsg.Text = “File uploaded successfully!”;
// Destroy objects
myThumbnail.Dispose();
myBitmap.Dispose();
}
catch (ArgumentException errArgument)
{
// The file wasn’t a valid jpg file
errormsg.Text = “The file wasn’t a valid jpg file.”;
System.IO.File.Delete(Server.MapPath(sSavePath + sFilename));
}
Used Namespace:
using System.IO;