/// <summary> /// Bitmap'in yüksekliğini veya genişliğini boyutlandırır diğer yönünü kırpar /// </summary> /// <param name="orjBitmap">İşlenecek orjinal bitmap</param> /// <param name="width">Genişlik değeri.</param> /// <param name="height">Yükseklik değeri</param> /// <param name="type">Yükseklik veya genişliği ölçülendirileceğini belirler diğer yön kırpılacak</param> /// <returns>Ölçülendirilmiş yeni bitmap.</returns> public Bitmap ResizeAndCanvas(Bitmap orjBitmap, int width, int height, ResizeCanvasType type) { Bitmap mBitmap = null; switch (type) { case ResizeCanvasType.CANVAS_W: mBitmap = this.ResizeAndCanvasW(orjBitmap, width, height); break; case ResizeCanvasType.CANVAS_H: mBitmap = this.ResizeAndCanvasH(orjBitmap, width, height); break; default: break; } return(mBitmap); }
/// <summary> /// Upload edilen image dosyasını (HttpPostedFile) yükseklik veya genişliğe göre boyutlandırır ve diğer yönünü kırpar. /// </summary> /// <param name="mFile">HttpPostedFile türünden upload edilen dosya</param> /// <param name="SaveDirectory">Kaydedilecek sanal dizin yolu Örnek:"~/images/haberler/"</param> /// <param name="FileName">Uzantı hariç dosya adı Örnek:"haberheader"</param> /// <param name="Width">Genişlik değeri</param> /// <param name="Height">Yükseklik değeri</param> /// <param name="SaveFormat">Image File format'ı null değer verilirse dosya orjinal formatı ile kaydedilir</param> /// <param name="type">Boyutlandırma nın yükseliğe veya genişliğe göremi orantılanacağını belirler diğer yön verilen değerinde kırpılır</param> /// <returns>Kaydedilen dosyanın sanal yolunu verir Örnek:"~/images/haberler/haberheader.jpg"</returns> public string ImageFileIsle(FileInfo mFile, string SaveDirectory, string FileName, int Width, int Height, ImageFormat SaveFormat, ResizeCanvasType type) { string fileName = null; if (mFile.Length > 0) { string FileExtesion = Path.GetExtension(mFile.FullName).ToLower(); ImageFormat mFormat = null; // switch (FileExtesion) { case ".jpg": case ".jpeg": mFormat = ImageFormat.Jpeg; break; case ".png": mFormat = ImageFormat.Png; break; case ".gif": mFormat = ImageFormat.Gif; break; default: break; } if (mFormat != null) { if (SaveFormat == null) { SaveFormat = mFormat; } else if (SaveFormat == ImageFormat.Jpeg) { FileExtesion = ".jpg"; } else if (SaveFormat == ImageFormat.Gif) { FileExtesion = ".gif"; } else if (SaveFormat == ImageFormat.Png) { FileExtesion = ".png"; } string fullDirectoryPath = HttpContext.Current.Server.MapPath(SaveDirectory); FileStream fs = mFile.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete); Bitmap mBitmap = (Bitmap)Bitmap.FromStream(fs); fs.Close(); fileName = fullDirectoryPath + FileName + FileExtesion; Bitmap sBitmap = this.ResizeAndCanvas(mBitmap, Width, Height, type); mBitmap.Dispose(); SaveFormat = SaveFormat != null ? SaveFormat : mFormat; ImageCodecInfo jgpEncoder = GetEncoder(SaveFormat); System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality; EncoderParameters myEncoderParameters = new EncoderParameters(1); EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, this.JPEGCompressionLevel); myEncoderParameters.Param[0] = myEncoderParameter; sBitmap.Save(fileName, jgpEncoder, myEncoderParameters); sBitmap.Dispose(); } } return(fileName); }
/// <summary> /// Upload edilen image dosyasını (HttpPostedFile) yükseklik veya genişliğe göre boyutlandırır ve diğer yönünü kırpar. /// </summary> /// <param name="mFile">HttpPostedFile türünden upload edilen dosya</param> /// <param name="SaveDirectory">Kaydedilecek sanal dizin yolu Örnek:"~/images/haberler/"</param> /// <param name="FileName">Uzantı hariç dosya adı Örnek:"haberheader"</param> /// <param name="Width">Genişlik değeri</param> /// <param name="Height">Yükseklik değeri</param> /// <param name="SaveFormat">Image File format'ı null değer verilirse dosya orjinal formatı ile kaydedilir</param> /// <param name="type">Boyutlandırma nın yükseliğe veya genişliğe göremi orantılanacağını belirler diğer yön verilen değerinde kırpılır</param> /// <returns>Kaydedilen dosyanın sanal yolunu verir Örnek:"~/images/haberler/haberheader.jpg"</returns> public string ImageFileIsle(HttpPostedFile mFile, string SaveDirectory, string FileName, int Width, int Height, ImageFormat SaveFormat, ResizeCanvasType type) { string fileName = null; if (mFile.ContentLength > 0) { string FileExtesion = Path.GetExtension(mFile.FileName).ToLower(); ImageFormat mFormat = null; // switch (FileExtesion) { case ".jpg": case ".jpeg": mFormat = ImageFormat.Jpeg; break; case ".png": mFormat = ImageFormat.Png; break; case ".gif": mFormat = ImageFormat.Gif; break; default: break; } if (mFormat != null) { if (SaveFormat == null) { SaveFormat = mFormat; } else if (SaveFormat == ImageFormat.Jpeg) { FileExtesion = ".jpg"; } else if (SaveFormat == ImageFormat.Gif) { FileExtesion = ".gif"; } else if (SaveFormat == ImageFormat.Png) { FileExtesion = ".png"; } string fullDirectoryPath = HttpContext.Current.Server.MapPath(SaveDirectory); Bitmap mBitmap = ReadBitmapFromPostedFile(mFile); fileName = fullDirectoryPath + FileName + FileExtesion; Bitmap sBitmap = this.ResizeAndCanvas(mBitmap, Width, Height, type); sBitmap.Save(fileName, SaveFormat != null ? SaveFormat : mFormat); mBitmap.Dispose(); sBitmap.Dispose(); } } return(fileName); }
/// <summary> /// Sınıf içinden tanımlı Bitmap'in yüksekliğini veya genişliğini boyutlandırır diğer yönünü kırpar /// </summary> /// <param name="width">Genişlik değeri.</param> /// <param name="height">Yükseklik değeri</param> /// <param name="type">Yükseklik veya genişliği ölçülendirileceğini belirler diğer yön kırpılacak</param> /// <returns>Ölçülendirilmiş yeni bitmap.</returns> public Bitmap ResizeAndCanvas(int width, int height, ResizeCanvasType type) { return(ResizeAndCanvas(this.Image, width, height, type)); }