Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ImageType"></param>
        /// <returns></returns>
        private static byte[] ExportImage(ImgX_MemoryFileTypes ImageType)
        {
            // Выгружаем данные изображения в переменную _buffer
            var _buffer = new byte[imgX.Images[0].MemoryUse];

            imgX.Export.ToMemoryFile(ref _buffer, ImageType, _bitsPerPixel, false);
            return(_buffer);
        }
Exemplo n.º 2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="o"></param>
 /// <param name="ImageType"></param>
 private static void LoadImage(byte[] o, ImgX_MemoryFileTypes ImageType)
 {
     // Очищаем базовый буфер и загружаем буферную переменную обратно
     Clear();
     // Возвращаем преобразованное изображение обратно
     imgX.Import.FromMemoryFile(ref o, ImageType, string.Empty);
     // Запоминаем тип изображения в объкт типа ImageType
     imageType = ImageType;
 }
Exemplo n.º 3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="ImageType"></param>
 /// <returns></returns>
 private static string GetImgXFileExt(ImgX_MemoryFileTypes ImageType)
 {
     if (ImageType == ImgX_MemoryFileTypes.ixmfBMP)
     {
         return("bmp");
     }
     if (ImageType == ImgX_MemoryFileTypes.ixmfGIF)
     {
         return("gif");
     }
     if (ImageType == ImgX_MemoryFileTypes.ixmfJPG)
     {
         return("jpg");
     }
     if (ImageType == ImgX_MemoryFileTypes.ixmfPCX)
     {
         return("pcx");
     }
     if (ImageType == ImgX_MemoryFileTypes.ixmfPNG)
     {
         return("png");
     }
     if (ImageType == ImgX_MemoryFileTypes.ixmfPSD)
     {
         return("psd");
     }
     if (ImageType == ImgX_MemoryFileTypes.ixmfTGA)
     {
         return("tga");
     }
     if (ImageType == ImgX_MemoryFileTypes.ixmfTIF)
     {
         return("tiff");
     }
     if (ImageType == ImgX_MemoryFileTypes.ixmfTLA)
     {
         return("tla");
     }
     if (ImageType == ImgX_MemoryFileTypes.ixmfWBMP)
     {
         return("wbmp");
     }
     // Unsupported imaged types: Icon, mf, Exif, Wmf
     throw new Exception(string.Format("Unsopported image type: {0}", ImageType));
 }
Exemplo n.º 4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="ImageType"></param>
 /// <returns></returns>
 private static ImgX_FileSaveTypes GetImgXFileSaveType(ImgX_MemoryFileTypes ImageType)
 {
     if (ImageType == ImgX_MemoryFileTypes.ixmfBMP)
     {
         return(ImgX_FileSaveTypes.ixfsBMP);
     }
     if (ImageType == ImgX_MemoryFileTypes.ixmfGIF)
     {
         return(ImgX_FileSaveTypes.ixfsGIF);
     }
     if (ImageType == ImgX_MemoryFileTypes.ixmfJPG)
     {
         return(ImgX_FileSaveTypes.ixfsJPG);
     }
     if (ImageType == ImgX_MemoryFileTypes.ixmfPCX)
     {
         return(ImgX_FileSaveTypes.ixfsPCX);
     }
     if (ImageType == ImgX_MemoryFileTypes.ixmfPNG)
     {
         return(ImgX_FileSaveTypes.ixfsPNG);
     }
     if (ImageType == ImgX_MemoryFileTypes.ixmfPSD)
     {
         return(ImgX_FileSaveTypes.ixfsPSD);
     }
     if (ImageType == ImgX_MemoryFileTypes.ixmfTGA)
     {
         return(ImgX_FileSaveTypes.ixfsTGA);
     }
     if (ImageType == ImgX_MemoryFileTypes.ixmfTIF)
     {
         return(ImgX_FileSaveTypes.ixfsTIF);
     }
     if (ImageType == ImgX_MemoryFileTypes.ixmfTLA)
     {
         return(ImgX_FileSaveTypes.ixfsTLA);
     }
     if (ImageType == ImgX_MemoryFileTypes.ixmfWBMP)
     {
         return(ImgX_FileSaveTypes.ixfsWBMP);
     }
     // Unsupported imaged types: Icon, mf, Exif, Wmf
     throw new Exception(string.Format("Unsopported image type: {0}", ImageType));
 }
Exemplo n.º 5
0
        // ****************************************************************************************************

        /// <summary>
        ///
        /// </summary>
        /// <param name="ImageType"></param>
        /// <param name="Width"></param>
        /// <param name="Quality"></param>
        /// <param name="DebugPath"></param>
        /// <returns></returns>
        private byte[] CreateImageView(ImgX_MemoryFileTypes ImageType, int Width, int Quality, string DebugPath)
        {
            // Сохраняем оригинальное изображение в буферной переменной
            var __buffer = GetBase();

            // Для представлений изображение преобразуется с заданным JPGQuality
            //  из элемента массива Params[2] объекта ecr.View соответствующей сущности таблицы ecr.Views
            imgX.JPGQuality = Quality;

            // Проверка ширины изображения
            if (imgX.Images[0].Width > Width)
            {
                // Производим преобразования (resize)
                var _resizeCoef = Width / Convert.ToDouble(imgX.Images[0].Width);
                imgX.Effects.Resize(Width, (int)(imgX.Images[0].Height * _resizeCoef), _resizeMethod, string.Empty);
            }
            else
            {
                // TODO: сделать подложку (опционально по дополнительному параметру из строки Params)
            }

            // Экспорт изображения в режиме DEBUG
            if (DebugPath.Length > 0)
            {
                var r = new Random((int)(DateTime.Now.Ticks));
                ExportImage(DebugPath + r.Next() + "." + GetImgXFileExt(ImageType), ImageType);
            }

            // Выгружаем полученные данные в переменную _buffer
            var _buffer = ExportImage(ImageType);

            // Загружаем буферную переменную обратно
            LoadImage(__buffer, imageType);

            // Возвращаем значение JPGQuality равным заданным по умолчанию
            //imgX.JPGQuality = 100;
            imgX.JPGQuality = Convert.ToInt32(ConfigurationManager.AppSettings.Get("ImgX.JpegQuality"));

            return(_buffer);
        }
Exemplo n.º 6
0
 ///<summary>
 ///</summary>
 ///<param name="ImagePath"></param>
 ///<param name="ImageType"></param>
 private static void ExportImage(string ImagePath, ImgX_MemoryFileTypes ImageType)
 {
     imgX.Export.ToFile(ImagePath, GetImgXFileSaveType(ImageType), _bitsPerPixel, false);
 }