Exemplo n.º 1
0
        /// <summary>
        /// Bitmap'in yüksekliğini veya genişliğini boyutlandırır ayrıca diğer yönünü de orantılı olarak boyutlandır.
        /// </summary>
        /// <param name="istenenOlcu">type türüne göre istenen genişlik veya yükseklik ölçüsüdür.</param>
        /// <param name="type">Yükseklik veya genişliği ölçülendirileceğini belirler</param>
        /// <param name="orjBitmap">İşlenecek orjinal bitmap</param>
        /// <returns>Ölçülendirilmiş yeni bitmap.</returns>
        public Bitmap ResizeProportion(Bitmap orjBitmap, int istenenOlcu, ResizeProportionType type)
        {
            Bitmap mBitmap = null;

            switch (type)
            {
            case ResizeProportionType.PROPORTION_W:
                mBitmap = this.ResizeWithProportionW(orjBitmap, istenenOlcu);
                break;

            case ResizeProportionType.PROPORTION_H:
                mBitmap = this.ResizeWithProportionH(orjBitmap, istenenOlcu);
                break;

            default:
                break;
            }
            return(mBitmap);
        }
Exemplo n.º 2
0
        internal static string ImageResizeAndLocation(string sourfilePath, string targetVirtualDirectory, string newFileName, int newsize, ResizeProportionType pROPORTION_W, bool NoForce, bool DeleteOrjFile = true)
        {
            FileInfo fileInfo = new FileInfo(sourfilePath);

            if (!fileInfo.Exists)
            {
                return(null);
            }
            string fileExt = fileInfo.Extension;

            if (fileExt.ToLowerInvariant() == ".jpg" || fileExt.ToLowerInvariant() == ".gif" || fileExt.ToLowerInvariant() == ".png" || fileExt.ToLowerInvariant() == ".jpeg")
            {
                DirectoryInfo di = new DirectoryInfo(HttpContext.Current.Server.MapPath(targetVirtualDirectory));
                if (!di.Exists)
                {
                    Directory.CreateDirectory(di.FullName);
                }
                ImageResizer imgResizer = new ImageResizer();
                imgResizer.JPEGCompressionLevel = 80;
                newFileName = string.Format("{0}{1}", newFileName, fileInfo.Extension);
                string returnFilePath = imgResizer.ImageFileIsle(fileInfo, targetVirtualDirectory, newFileName, newsize, null, ResizeProportionType.PROPORTION_W, NoForce);
                if (DeleteOrjFile)
                {
                    fileInfo.Delete();
                }
                return(returnFilePath);
            }
            else
            {
                if (fileInfo.Exists && DeleteOrjFile)
                {
                    fileInfo.Delete();
                }
            }
            return(null);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Upload edilen image dosyasını (HttpPostedFile) Yükseklik veya genişliğe göre orantılı olarak boyutlandırır ve kaydeder.
        /// </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="istenenOlcu">Yukseklik veya Genişlik 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</param>
        /// <returns>Kaydedilen dosyanın sanal yolunu verir Örnek:"~/images/haberler/haberheader.jpg"</returns>
        public string ImageFileIsle(FileInfo mFile, string SaveDirectory, string FileName, int istenenOlcu, ImageFormat SaveFormat, ResizeProportionType type, bool maxValue)
        {
            if (mFile.Length > 0)
            {
                FileStream fs      = mFile.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete);
                Bitmap     mBitmap = (Bitmap)Bitmap.FromStream(fs);
                fs.Close();
                int orjWidth  = mBitmap.Width;
                int orjHeight = mBitmap.Height;
                mBitmap.Dispose();
                switch (type)
                {
                case ResizeProportionType.PROPORTION_W:
                    if (orjWidth <= istenenOlcu && maxValue)
                    {
                        return(ImageFileIsle(mFile, SaveDirectory, FileName, orjWidth, SaveFormat, type));
                    }
                    else
                    {
                        return(ImageFileIsle(mFile, SaveDirectory, FileName, istenenOlcu, SaveFormat, type));
                    }

                case ResizeProportionType.PROPORTION_H:
                    if (orjHeight <= istenenOlcu && maxValue)
                    {
                        return(ImageFileIsle(mFile, SaveDirectory, FileName, orjHeight, SaveFormat, type));
                    }
                    else
                    {
                        return(ImageFileIsle(mFile, SaveDirectory, FileName, istenenOlcu, SaveFormat, type));
                    }

                default:
                    return(null);
                }
            }
            return(null);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Upload edilen image dosyasını (HttpPostedFile) Yükseklik veya genişliğe göre orantılı olarak boyutlandırır ve kaydeder.
        /// </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="istenenOlcu">Yukseklik veya Genişlik 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</param>
        /// <returns>Kaydedilen dosyanın sanal yolunu verir Örnek:"~/images/haberler/haberheader.jpg"</returns>
        public string ImageFileIsle(FileInfo mFile, string SaveDirectory, string FileName, int istenenOlcu, ImageFormat SaveFormat, ResizeProportionType type)
        {
            string fileName        = null;
            string virtualFileName = 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 (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);
                virtualFileName = SaveDirectory + Path.GetFileNameWithoutExtension(FileName) + FileExtesion;
                FileStream fs      = mFile.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete);
                Bitmap     mBitmap = (Bitmap)Bitmap.FromStream(fs);
                fs.Close();
                fs.Dispose();
                fileName = fullDirectoryPath + Path.GetFileNameWithoutExtension(FileName) + FileExtesion;
                Bitmap sBitmap = this.ResizeProportion(mBitmap, istenenOlcu, type);
                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;
                if (File.Exists(fileName))
                {
                    File.Delete(fileName);
                }
                sBitmap.Save(fileName, jgpEncoder, myEncoderParameters);

                sBitmap.Dispose();
                mBitmap.Dispose();
            }

            return(virtualFileName);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Upload edilen image dosyasını (HttpPostedFile) Yükseklik veya genişliğe göre orantılı olarak boyutlandırır ve kaydeder.
        /// </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="istenenOlcu">Yukseklik veya Genişlik 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</param>
        /// <returns>Kaydedilen dosyanın sanal yolunu verir Örnek:"~/images/haberler/haberheader.jpg"</returns>
        public string ImageFileIsle(HttpPostedFile mFile, string SaveDirectory, string FileName, int istenenOlcu, ImageFormat SaveFormat, ResizeProportionType type)
        {
            string fileName        = null;
            string virtualFileName = 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);
                    virtualFileName = SaveDirectory + FileName + FileExtesion;
                    Bitmap mBitmap = ReadBitmapFromPostedFile(mFile);
                    fileName = fullDirectoryPath + FileName + FileExtesion;
                    Bitmap sBitmap = this.ResizeProportion(mBitmap, istenenOlcu, type);
                    sBitmap.Save(fileName, SaveFormat != null ? SaveFormat : mFormat);
                    sBitmap.Dispose();
                    mBitmap.Dispose();
                }
            }
            return(virtualFileName);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Upload edilen image dosyasını (HttpPostedFile) Yükseklik veya genişliğe göre orantılı olarak boyutlandırır ve kaydeder.
        /// </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="istenenOlcu">Yukseklik veya Genişlik 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</param>
        /// <returns>Kaydedilen dosyanın sanal yolunu verir Örnek:"~/images/haberler/haberheader.jpg"</returns>
        public string ImageFileIsle(HttpPostedFile mFile, string SaveDirectory, string FileName, int istenenOlcu, ImageFormat SaveFormat, ResizeProportionType type, bool maxValue)
        {
            if (mFile.ContentLength > 0)
            {
                Bitmap mBitmap   = ReadBitmapFromPostedFile(mFile);
                int    orjWidth  = mBitmap.Width;
                int    orjHeight = mBitmap.Height;
                mBitmap.Dispose();
                switch (type)
                {
                case ResizeProportionType.PROPORTION_W:
                    if (orjWidth <= istenenOlcu && maxValue)
                    {
                        return(ImageFileIsle(mFile, SaveDirectory, FileName, orjWidth, SaveFormat, type));
                    }
                    else
                    {
                        return(ImageFileIsle(mFile, SaveDirectory, FileName, istenenOlcu, SaveFormat, type));
                    }

                case ResizeProportionType.PROPORTION_H:
                    if (orjHeight <= istenenOlcu && maxValue)
                    {
                        return(ImageFileIsle(mFile, SaveDirectory, FileName, orjHeight, SaveFormat, type));
                    }
                    else
                    {
                        return(ImageFileIsle(mFile, SaveDirectory, FileName, istenenOlcu, SaveFormat, type));
                    }

                default:
                    return(null);
                }
            }
            return(null);
        }
Exemplo n.º 7
0
 /// <summary>
 /// Sınıf içinden tanımlı Bitmap'in yüksekliğini veya genişliğini boyutlandırır ayrıca diğer yönünü de orantılı olarak boyutlandır.
 /// </summary>
 /// <param name="istenenOlcu">type türüne göre istenen genişlik veya yükseklik ölçüsüdür.</param>
 /// <param name="type">Yükseklik veya genişliği ölçülendirileceğini belirler</param>
 /// <returns>Ölçülendirilmiş yeni bitmap.</returns>
 public Bitmap ResizeProportion(int istenenOlcu, ResizeProportionType type)
 {
     return(ResizeProportion(this.Image, istenenOlcu, type));
 }