예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
 /// <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));
 }