Beispiel #1
0
        /// <summary>
        /// Gets the image format.
        /// </summary>
        /// <param name="format">The format.</param>
        /// <returns>An ImageFormat instance which matches the specified OutputFormat</returns>
        public static ImageFormat GetImageFormat(ImageFormatType format)
        {
            switch (format)
            {
            case ImageFormatType.Bmp:
                return(ImageFormat.Bmp);

            case ImageFormatType.Jpeg:
                return(ImageFormat.Jpeg);

            case ImageFormatType.Png:
                return(ImageFormat.Png);

            case ImageFormatType.Tiff:
                return(ImageFormat.Tiff);

            case ImageFormatType.Gif:
                return(ImageFormat.Gif);

            case ImageFormatType.Default:
                return(ImageFormat.Jpeg);

            default:
                return(ImageFormat.Jpeg);
            }
        }
		/// <summary>
		/// Finds the best provider.
		/// </summary>
		/// <param name="format">The format.</param>
		public IImageProvider FindBestProvider(ImageFormatType format)
		{
			if (ImageProviders.ContainsKey(format))
				return ImageProviders[format];
			else
				return ImageProviders[ImageFormatType.Default];
		}
Beispiel #3
0
        public static YuvImage GetYUVImage(ByteBuffer framebuff, ImageFormatType _CameraColorFormat, int _Width, int _Height)
        {
            byte[] barray = new byte[framebuff.Remaining()];
            framebuff.Get(barray);

            return(new YuvImage(barray, _CameraColorFormat, _Width, _Height, null));
        }
        /// <summary>
        /// Retrieves the signature image from the canvas
        /// </summary>
        /// <param name="imgFormat"></param>
        /// <returns></returns>
        public Stream GetImage(ImageFormatType imgFormat)
        {
            var imageTask = Task.Run(async() =>
            {
                //Create new Random Access Tream
                var stream = new InMemoryRandomAccessStream();

                //Create bitmap encoder
                var encoder = await BitmapEncoder.CreateAsync(
                    imgFormat == ImageFormatType.Png ? BitmapEncoder.PngEncoderId : BitmapEncoder.JpegEncoderId, stream);

                //Set the pixel data and flush it
                encoder.SetPixelData(
                    BitmapPixelFormat.Bgra8,
                    BitmapAlphaMode.Straight,
                    (uint)bitmapInfo.PixelWidth,
                    (uint)bitmapInfo.PixelHeight, 96d, 96d,
                    bitmapInfo.BitmapBuffer.ToArray());
                await encoder.FlushAsync();
                return(stream.AsStream());
            });

            imageTask.Wait();
            return(imageTask.Result);
        }
Beispiel #5
0
 public ImageGrabbedEventArgs(Bitmap image, object data, ImageFormatType imageFormat)
 {
     Image       = image;
     Data        = data;
     ImageFormat = imageFormat;
     Error       = 0;
 }
        private Texture2D(ImageFormatType imageFormat, byte[] imageBytes, uint resourceSetNo, string textureName, string samplerName)
        {
            if (null == textureName || null == samplerName)
            {
                throw new ArgumentException("Must provide valid texture and sampler name");
            }

            ResourceSetNo = resourceSetNo;
            TextureName   = textureName;
            SamplerName   = samplerName;
            ImageFormat   = imageFormat;
            ImageBytes    = imageBytes;

            if (null != ImageBytes)
            {
                var texProcessor = new ImageSharpProcessor();
                using (var stream = new MemoryStream(ImageBytes))
                {
                    switch (ImageFormat)
                    {
                    case ImageFormatType.Jpeg:
                        ProcessedTexture = texProcessor.ProcessT(stream, "jpg");
                        break;

                    case ImageFormatType.Png:
                        ProcessedTexture = texProcessor.ProcessT(stream, "png");
                        break;

                    default:
                        throw new InvalidEnumArgumentException("Unknown type");
                    }
                }
            }
        }
        public async Task <IEnumerable <Image> > Create(
            IEnumerable <ImageTransitional> entities,
            ImageFormatType format)
        {
            Guard.WhenArgument(
                entities,
                GlobalConstants.ImageTransitionalCollectionRequiredExceptionMessage)
            .IsNull()
            .Throw();

            ICollection <Image> imageList = new List <Image>();
            Image entityDb;

            foreach (var entity in entities)
            {
                Guard.WhenArgument(
                    entity,
                    GlobalConstants.ImageRequiredExceptionMessage)
                .IsNull()
                .Throw();

                entity.Format = format;
                entityDb      = await this.CreateImage(entity, null, null);

                this.images.Create(entityDb);
                imageList.Add(entityDb);
            }

            await this.context.SaveAsync();

            return(imageList);
        }
Beispiel #8
0
		/// <summary>
		/// Gets the image format.
		/// </summary>
		/// <param name="format">The format.</param>
		/// <returns>An ImageFormat instance which matches the specified OutputFormat</returns>
		public static ImageFormat GetImageFormat(ImageFormatType format)
		{
			switch (format)
			{
				case ImageFormatType.Bmp:
					return ImageFormat.Bmp;

				case ImageFormatType.Jpeg:
					return ImageFormat.Jpeg;

				case ImageFormatType.Png:
					return ImageFormat.Png;

				case ImageFormatType.Tiff:
					return ImageFormat.Tiff;

				case ImageFormatType.Gif:
					return ImageFormat.Gif;

				case ImageFormatType.Default:
					return ImageFormat.Jpeg;

				default:
					return ImageFormat.Jpeg;
			}
		}
        /// <summary>
        /// Actual image generator. Internally used.
        /// </summary>
        /// <param name="captchaCode">Captcha code for which the image has to be generated</param>
        /// <param name="imageHeight">Height of the image to be generated</param>
        /// <param name="imageWidth">Width of the image to be generated</param>
        /// <param name="fontSize">Font size to be used</param>
        /// <param name="distortion">Distortion required</param>
        /// <returns>Generated jpeg image as a MemoryStream object</returns>
        public static MemoryStream BuildImage(string captchaCode, int imageHeight, int imageWidth, int fontSize, int distortion = 18,
                                              ImageFormatType imgType = ImageFormatType.Png)
        {
            int          newX, newY;
            MemoryStream memoryStream = new MemoryStream();

            using (Bitmap captchaImage = new Bitmap(imageWidth, imageHeight, System.Drawing.Imaging.PixelFormat.Format64bppArgb))
                using (Bitmap cache = new Bitmap(imageWidth, imageHeight, System.Drawing.Imaging.PixelFormat.Format64bppArgb))
                    using (Graphics graphicsTextHolder = Graphics.FromImage(captchaImage))
                    {
                        graphicsTextHolder.Clear(BackgroundColor);
                        graphicsTextHolder.DrawString(captchaCode, new Font(FONTFAMILY, fontSize, FontStyle.Italic), new SolidBrush(Color.Gray), new PointF(8.4F, 20.4F));

                        //Distort the image with a wave function
                        for (int y = 0; y < imageHeight; y++)
                        {
                            for (int x = 0; x < imageWidth; x++)
                            {
                                newX = (int)(x + (distortion * Math.Sin(Math.PI * y / 64.0)));
                                newY = (int)(y + (distortion * Math.Cos(Math.PI * x / 64.0)));
                                if (newX < 0 || newX >= imageWidth)
                                {
                                    newX = 0;
                                }
                                if (newY < 0 || newY >= imageHeight)
                                {
                                    newY = 0;
                                }
                                cache.SetPixel(x, y, captchaImage.GetPixel(newX, newY));
                            }
                        }
                        System.Drawing.Imaging.ImageFormat imgFormat;
                        switch (imgType)
                        {
                        case ImageFormatType.Bmp:
                            imgFormat = System.Drawing.Imaging.ImageFormat.Bmp;
                            break;

                        case ImageFormatType.Gif:
                            imgFormat = System.Drawing.Imaging.ImageFormat.Gif;
                            break;

                        case ImageFormatType.Jpeg:
                            imgFormat = System.Drawing.Imaging.ImageFormat.Jpeg;
                            break;

                        case ImageFormatType.Png:
                            imgFormat = System.Drawing.Imaging.ImageFormat.Png;
                            break;

                        default:
                            throw new ArgumentException("unkown image type");
                        }
                        cache.Save(memoryStream, imgFormat);
                        memoryStream.Position = 0;
                        return(memoryStream);
                    }
        }
//        public override void TouchesBegan(NSSet touches, UIEvent evt) {
//            base.TouchesBegan(touches, evt);
//            if (this.onResult == null)
//                this.DismissViewController(true, null);
//        }


        private static Stream GetImageStream(UIImage image, ImageFormatType formatType)
        {
            if (formatType == ImageFormatType.Jpg)
            {
                return(image.AsJPEG().AsStream());
            }

            return(image.AsPNG().AsStream());
        }
 public static ITexture2D Create(
     ImageFormatType imageFormat,
     byte[] imageBytes,
     uint resourceSetNo,
     string textureName,
     string samplerName)
 {
     return(new Texture2D(imageFormat, imageBytes, resourceSetNo, textureName, samplerName));
 }
		/// <summary>
		/// Writes the specified images to the output stream
		/// </summary>
		/// <param name="images">The images.</param>
		/// <param name="imageStream"></param>
		/// <param name="outputFormat">The output format.</param>
		/// <param name="quality">The quality.</param>
		public void Write(IEnumerable<System.Drawing.Image> images, System.IO.Stream imageStream, ImageFormatType outputFormat, long quality)
		{
			if (images.Count() > 0)
			{
				OctreeQuantizer quantizer = new OctreeQuantizer(this.ColourDepth - 1, 8);

				Bitmap quantized = quantizer.Quantize(images.First());
				quantized.Save(imageStream, ImageFormat.Gif);
			}
		}
 /// <summary>
 /// Finds the best provider.
 /// </summary>
 /// <param name="format">The format.</param>
 public IImageProvider FindBestProvider(ImageFormatType format)
 {
     if (ImageProviders.ContainsKey(format))
     {
         return(ImageProviders[format]);
     }
     else
     {
         return(ImageProviders[ImageFormatType.Default]);
     }
 }
        public Bitmap GetCharacterImage(string characterName, string expression, ImageFormatType imageFormatType)
        {
            string ext           = imageFormatType.ToString();
            var    characterPath = $"{Directory.GetCurrentDirectory()}\\Characters\\{characterName}\\{expression}.{ext}";

            if (!File.Exists(characterPath))
            {
                throw new ArgumentException($"{expression} missing for character {characterName}");
            }
            return(new Bitmap($"{characterPath}"));
        }
 private Stream GetImageStream(ImageFormatType imgFormat)
 {
     using (var image = this.Control.GetImage()) {
         var stream = new MemoryStream();
         var format = imgFormat == ImageFormatType.Png
             ? Android.Graphics.Bitmap.CompressFormat.Png
             : Android.Graphics.Bitmap.CompressFormat.Jpeg;
         image.Compress(format, 100, stream); // TODO: quality control
         return(stream);                      // TODO: careful
     }
 }
        public Bitmap GetSceneImage(string sceneName, ImageFormatType imageFormatType)
        {
            string ext           = imageFormatType.ToString();
            var    sceneFilePath = $"{Directory.GetCurrentDirectory()}\\Scenes\\{sceneName}.{ext}";

            if (!File.Exists(sceneFilePath))
            {
                throw new ArgumentException($"{sceneName} is missing");
            }

            return(new Bitmap(sceneFilePath));
        }
        public Bitmap GetImageAsset(string fileName, ImageFormatType imageFormatType)
        {
            string ext           = imageFormatType.ToString();
            var    assetFilePath = $"{Directory.GetCurrentDirectory()}\\Assets\\{fileName}.{ext}";

            if (!File.Exists(assetFilePath))
            {
                throw new ArgumentException($"{fileName}.{ext} is not present in the assets folder");
            }

            return(new Bitmap(assetFilePath));
        }
		/// <summary>
		/// Writes the specified images to the output stream
		/// </summary>
		/// <param name="images">The images.</param>
		/// <param name="outputStream">The image stream.</param>
		/// <param name="outputFormat">The output format.</param>
		/// <param name="quality">The quality.</param>
		public void Write(IEnumerable<Image> images, Stream outputStream, ImageFormatType outputFormat, long quality)
		{
			if (images.Count() > 0)
			{
				EncoderParameters codecParams = new EncoderParameters(1);

				codecParams.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);

				ImageCodecInfo codecInfo = Util.FindCodecInfo(Util.GetImageFormat(outputFormat));

				images.First().Save(outputStream, codecInfo, codecParams);
			}
		}
        /// <summary>
        /// Writes the specified images to the output stream
        /// </summary>
        /// <param name="images">The images.</param>
        /// <param name="outputStream">The image stream.</param>
        /// <param name="outputFormat">The output format.</param>
        /// <param name="quality">The quality.</param>
        public void Write(IEnumerable <Image> images, Stream outputStream, ImageFormatType outputFormat, long quality)
        {
            if (images.Count() > 0)
            {
                EncoderParameters codecParams = new EncoderParameters(1);

                codecParams.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);

                ImageCodecInfo codecInfo = Util.FindCodecInfo(Util.GetImageFormat(outputFormat));

                images.First().Save(outputStream, codecInfo, codecParams);
            }
        }
        }     //SaveImage(string, ImageFormatTypes)

        /// <summary>
        /// Saves an encoded image to a specified stream.
        /// </summary>
        /// <param name="stream">Stream to write image to.</param>
        /// <param name="FileType">Format to use.</param>
        public void SaveImage(Stream stream, ImageFormatType FileType)
        {
            try
            {
                if (_Encoded_Image != null)
                {
                    ((Bitmap)_Encoded_Image).Save(stream, getImageFormat(FileType));
                } //if
            }     //try
            catch (System.Exception ex)
            {
                throw new System.Exception("ESAVEIMAGE-2: Could not save image.\n\n=======================\n\n" + ex.Message);
            } //catch
        }     //SaveImage(Stream, ImageFormatTypes)
Beispiel #21
0
        /// <summary>
        /// Processes an image using the filters in the filter collection, setting the image
        /// in an input stream.
        /// </summary>
        /// <param name="inputStream">The input stream containing image data.</param>
        /// <param name="outputStream">The stream to write the resulting image to</param>
        public void ProcessImage(Stream inputStream, Stream outputStream, ImageFormatType inputImageFormat = ImageFormatType.Default, ImageFormatType outputImageFormat = ImageFormatType.Default)
        {
            IImageProvider inputProvider  = this.ProviderFactory.FindBestProvider(inputImageFormat);
            IImageProvider outputProvider = this.ProviderFactory.FindBestProvider(outputImageFormat);

            IEnumerable <Image> inputImages  = inputProvider.Read(inputStream);
            List <Image>        outputImages = new List <Image>();

            foreach (var image in inputImages)
            {
                outputImages.Add(ProcessImage(image));
            }

            outputProvider.Write(outputImages, outputStream, outputImageFormat, this.JpegCompression);
        }
Beispiel #22
0
 public ImageFormat(ImageFormatType imageFormat)
 {
     Format = imageFormat;
     if (Format == ImageFormatType.gif)
     {
         Extension = ".gif";
     }
     else if (Format == ImageFormatType.jpg)
     {
         Extension = ".jpg";
     }
     else if (Format == ImageFormatType.png)
     {
         Extension = ".png";
     }
 }
        private ImageFormat getImageFormat(ImageFormatType FileType)
        {
            System.Drawing.Imaging.ImageFormat imageformat;
            switch (FileType)
            {
            case ImageFormatType.BMP:
                imageformat = System.Drawing.Imaging.ImageFormat.Bmp;
                break;

            case ImageFormatType.EMF:
                imageformat = System.Drawing.Imaging.ImageFormat.Emf;
                break;

            case ImageFormatType.EXIF:
                imageformat = System.Drawing.Imaging.ImageFormat.Exif;
                break;

            case ImageFormatType.GIF:
                imageformat = System.Drawing.Imaging.ImageFormat.Gif;
                break;

            case ImageFormatType.ICON:
                imageformat = System.Drawing.Imaging.ImageFormat.Icon;
                break;

            case ImageFormatType.JPG:
                imageformat = System.Drawing.Imaging.ImageFormat.Jpeg;
                break;

            case ImageFormatType.PNG:
                imageformat = System.Drawing.Imaging.ImageFormat.Png;
                break;

            case ImageFormatType.TIFF:
                imageformat = System.Drawing.Imaging.ImageFormat.Tiff;
                break;

            case ImageFormatType.WMF:
                imageformat = System.Drawing.Imaging.ImageFormat.Wmf;
                break;

            default:
                imageformat = System.Drawing.Imaging.ImageFormat.Jpeg;
                break;
            } //
            return(imageformat);
        }
Beispiel #24
0
        /// <summary>
        /// Resizes the image.
        /// </summary>
        /// <param name="inputFilename">The input filename.</param>
        /// <param name="outputFilename">The output filename.</param>
        /// <param name="width">The desired width of the output image.</param>
        /// <param name="height">The desired height of the output image.</param>
        /// <param name="method">The resize calculation method</param>
        /// <param name="anchorLocation">The anchor location.</param>
        /// <param name="jpegQuality">The JPEG quality.</param>
        /// <param name="outputFormat">The output format.</param>
        public static void ResizeImage(string inputFilename,
                                       string outputFilename,
                                       int width,
                                       int height,
                                       ResizeMethod method           = ResizeMethod.KeepAspectRatio,
                                       AnchorLocation anchorLocation = AnchorLocation.Middle,
                                       long jpegQuality             = 80L,
                                       ImageFormatType outputFormat = ImageFormatType.Default)
        {
            ImageProcessor processor = new ImageProcessor(new ResizeFilter(width, height, method, anchorLocation));
            ResizeFilter   filter    = new ResizeFilter(width, height, method, anchorLocation);

            processor.JpegCompression = jpegQuality;
            processor.OutputFormat    = outputFormat;

            processor.ProcessImage(inputFilename, outputFilename);
        }
        public async Task <Image> Create(ImageTransitional entity, ImageFormatType format)
        {
            Guard.WhenArgument(
                entity,
                GlobalConstants.ImageTransitionalRequiredExceptionMessage)
            .IsNull()
            .Throw();

            entity.Format = format;
            var entityDb = await this.CreateImage(entity, null, null);

            this.images.Create(entityDb);

            await this.context.SaveAsync();

            return(entityDb);
        }
Beispiel #26
0
        private void PixelBuffertoYUV2(byte[] rgba, int width, int height, ImageFormatType imageFormatType, ref byte[] y, ref byte[] uv)
        {
            //in grayscale, it's a byte per pixel, which we can just assign to Y, and leave uv null
            //Probably not the most accurate conversion, would save some performance
            if (imageFormatType == ImageFormatType.ImageFormatGrayscale)
            {
                y  = rgba;
                uv = null;
                return;
            }

            int pixelCount = width * height;

            if (y == null || y.Length != pixelCount)
            {
                y = new byte[pixelCount];
            }

            if (uv == null || uv.Length != pixelCount / 2)
            {
                uv = new byte[pixelCount / 2];
            }

            int iY    = 0;
            int iUV   = 0;
            int iRGBA = 0;

            for (int row = 0; row < height; row++)
            {
                for (int column = 0; column < width; column++)
                {
                    //Random magic starts here!
                    //Convert every pixel to 1 byte Y
                    y[iY++] = (byte)(((66 * rgba[iRGBA] + 129 * rgba[iRGBA + 1] + 25 * rgba[iRGBA + 2] + 128) >> 8) + 16);
                    //Convert every pixel to 2 bytes UV at quarter resolution
                    if (row % 2 == 0 && column % 2 == 0)
                    {
                        uv[iUV++] = (byte)(((-38 * rgba[iRGBA] - 74 * rgba[iRGBA + 1] + 112 * rgba[iRGBA + 2] + 128) >> 8) + 128);
                        uv[iUV++] = (byte)(((112 * rgba[iRGBA] - 94 * rgba[iRGBA + 1] - 18 * rgba[iRGBA + 2] + 128) >> 8) + 128);
                    }
                    //To next pixel
                    iRGBA += 4;
                }
            }
        }
Beispiel #27
0
        /// <summary>
        /// Processes an image using the filters which have been added to the filter collection.
        /// </summary>
        /// <param name="inputImage">The real path to the input image.</param>
        /// <param name="outputImage">The real path to the resulting image after processing.</param>
        public void ProcessImage(string inputImage, string outputImage)
        {
            using (Stream inputStream = new FileStream(inputImage, FileMode.Open))
            {
                using (Stream outputFileStream = new FileStream(outputImage, FileMode.Create))
                {
                    ImageFormatType inputFormat = Util.DiscoverOutputFormatFromFile(inputImage);

                    // Try and discover the output format from the extension, if one hasn't already been set.
                    if (OutputFormat == ImageFormatType.Default)
                    {
                        OutputFormat = Util.DiscoverOutputFormatFromFile(outputImage);
                    }

                    ProcessImage(inputStream, outputFileStream, inputFormat, OutputFormat);
                }
            }
        }
 public Image CreateImage(
     string fileName,
     string fileExtension,
     string urlPath,
     ImageFormatType format,
     Guid?photocourseId,
     Photocourse photocourse)
 {
     return(new Image
     {
         FileName = fileName,
         FileExtension = fileExtension,
         UrlPath = urlPath,
         Format = format,
         PhotocourseId = photocourseId,
         Photocourse = photocourse
     });
 }
Beispiel #29
0
        public static void ImageCompress(ImageFormatType format = ImageFormatType.Jpeg, int quality = 50)
        {
            var formatTable = new Dictionary <ImageFormatType, ImageFormat>()
            {
                { ImageFormatType.Bmp, ImageFormat.Bmp },
                { ImageFormatType.Gif, ImageFormat.Gif },
                { ImageFormatType.Jpeg, ImageFormat.Jpeg },
                { ImageFormatType.Png, ImageFormat.Png },
                { ImageFormatType.Tiff, ImageFormat.Tiff },
            };

            Glb.DrawMatAndHist0(Glb.matSrc);

            var bmpBufferSize = Glb.matSrc.Step() * Glb.matSrc.Height;

            var bmp = Glb.matSrc.ToBitmap();

            // 인코더 준비
            var imageFormat = formatTable[format];
            var enc         = ImageCodecInfo.GetImageEncoders().FirstOrDefault(codecInfo => codecInfo.FormatID == imageFormat.Guid);
            var encPrms     = new EncoderParameters(1);

            encPrms.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);

            // 메모리 스트림으로 저장
            var ms = new MemoryStream();

            bmp.Save(ms, enc, encPrms);

            var compressedBufferSize = ms.Length;

            // 메모리 스트림에서 로드
            var compressedImage = System.Drawing.Image.FromStream(ms);

            var bmpNew = new System.Drawing.Bitmap(compressedImage);
            var matDsp = bmpNew.ToMat();

            Console.WriteLine("bmp : {0}KB => {1}({2}%) : {3}KB", bmpBufferSize / 1000, imageFormat, quality, compressedBufferSize / 1000);

            Glb.DrawMatAndHist1(matDsp);
            Glb.DrawMatAndHist2(null);

            matDsp.Dispose();
        }
        }//Generate_Image

        /// <summary>
        /// Gets the bytes that represent the image.
        /// </summary>
        /// <param name="savetype">File type to put the data in before returning the bytes.</param>
        /// <returns>Bytes representing the encoded image.</returns>
        public byte[] GetImageData(ImageFormatType savetype)
        {
            byte[] imageData = null;

            try
            {
                if (_Encoded_Image != null)
                {
                    //Save the image to a memory stream so that we can get a byte array!
                    using (MemoryStream ms = new MemoryStream())
                    {
                        SaveImage(ms, savetype);
                        imageData = ms.ToArray();
                        ms.Flush();
                        ms.Close();
                    } //using
                }     //if
            }         //try
            catch (System.Exception ex)
            {
                throw new System.Exception("EGETIMAGEDATA-1: Could not retrieve image data. " + ex.Message);
            }//catch
            return(imageData);
        }
 public Stream GetImage(ImageFormatType imageFormat) {
     return this.getImageFunc(imageFormat);
 }
Beispiel #32
0
 /// <summary>
 /// Creates the texture reader instance.
 /// </summary>
 /// <param name="format">Format of the output image pixel. Can be either eImageFormat_RGBA
 /// or eImageFormat_I8.</param>
 /// <param name="width">Width of the output image, in pixels.</param>
 /// <param name="height">Height of the output image, in pixels.</param>
 /// <param name="keepAspectRatio">Indicate whether or not to keep aspect ratio. If true, the
 /// output image may be cropped if the image aspect ratio is different from the texture
 /// aspect ratio. If false, the output image covers the entire texture scope and no cropping
 /// is applied.</param>
 public void Create(ImageFormatType format, int width, int height, bool keepAspectRatio)
 {
     ExternApi.TextureReader_create((int)format, width, height, keepAspectRatio);
 }
        private static Stream GetImageStream(UIImage image, ImageFormatType formatType)
        {
            if (formatType == ImageFormatType.Jpg)
                return image.AsJPEG().AsStream();

            return image.AsPNG().AsStream();
        }
		/// <summary>
		/// Resizes the image.
		/// </summary>
		/// <param name="inputFilename">The input filename.</param>
		/// <param name="outputFilename">The output filename.</param>
		/// <param name="width">The desired width of the output image.</param>
		/// <param name="height">The desired height of the output image.</param>
		/// <param name="method">The resize calculation method</param>
		/// <param name="anchorLocation">The anchor location.</param>
		/// <param name="jpegQuality">The JPEG quality.</param>
		/// <param name="outputFormat">The output format.</param>
		public static void ResizeImage(string inputFilename, 
			string outputFilename, 
			int width, 
			int height, 
			ResizeMethod method = ResizeMethod.KeepAspectRatio, 
			AnchorLocation anchorLocation = AnchorLocation.Middle,
			long jpegQuality = 80L, 
			ImageFormatType outputFormat = ImageFormatType.Default)
		{
			ImageProcessor processor = new ImageProcessor(new ResizeFilter(width, height, method, anchorLocation));
			ResizeFilter filter = new ResizeFilter(width, height, method, anchorLocation);

			processor.JpegCompression = jpegQuality;
			processor.OutputFormat = outputFormat;

			processor.ProcessImage(inputFilename, outputFilename);
		}
		/// <summary>
		/// Initializes a new instance of the <see cref="ImageProviderAttribute"/> class.
		/// </summary>
		/// <param name="targetFormat">The target format.</param>
		public ImageProviderAttribute(ImageFormatType targetFormat)
		{
			this.TargetFormat = targetFormat;
		}
Beispiel #36
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ImageProviderAttribute"/> class.
 /// </summary>
 /// <param name="targetFormat">The target format.</param>
 public ImageProviderAttribute(ImageFormatType targetFormat)
 {
     this.TargetFormat = targetFormat;
 }
Beispiel #37
0
        /// <summary>
        /// Writes the specified images to the output stream
        /// </summary>
        /// <param name="images">The images.</param>
        /// <param name="imageStream"></param>
        /// <param name="outputFormat">The output format.</param>
        /// <param name="quality">The quality.</param>
        public void Write(IEnumerable <System.Drawing.Image> images, System.IO.Stream imageStream, ImageFormatType outputFormat, long quality)
        {
            if (images.Count() > 0)
            {
                OctreeQuantizer quantizer = new OctreeQuantizer(this.ColourDepth - 1, 8);

                Bitmap quantized = quantizer.Quantize(images.First());
                quantized.Save(imageStream, ImageFormat.Gif);
            }
        }
        /// <summary>
        /// Retrieves the signature image from the canvas
        /// </summary>
        /// <param name="imgFormat"></param>
        /// <returns></returns>
        public Stream GetImage(ImageFormatType imgFormat)
        {
            var imageTask = Task.Run(async () =>
            {
                //Create new Random Access Tream
                var stream = new InMemoryRandomAccessStream();

                //Create bitmap encoder
                var encoder = await BitmapEncoder.CreateAsync(
                    imgFormat == ImageFormatType.Png ? BitmapEncoder.PngEncoderId : BitmapEncoder.JpegEncoderId, stream);

                //Set the pixel data and flush it
                encoder.SetPixelData(
                            BitmapPixelFormat.Bgra8,
                            BitmapAlphaMode.Straight,
                            (uint)bitmapInfo.PixelWidth,
                            (uint)bitmapInfo.PixelHeight, 96d, 96d,
                            bitmapInfo.BitmapBuffer.ToArray());
                await encoder.FlushAsync();
                return stream.AsStream();
            });
            imageTask.Wait();
            return imageTask.Result;
        }
Beispiel #39
0
 public Stream GetImage(ImageFormatType imageFormat)
 {
     return(this.getImageFunc(imageFormat));
 }
		/// <summary>
		/// Processes an image using the filters in the filter collection, setting the image
		/// in an input stream.
		/// </summary>
		/// <param name="inputStream">The input stream containing image data.</param>
		/// <param name="outputStream">The stream to write the resulting image to</param>
		public void ProcessImage(Stream inputStream, Stream outputStream, ImageFormatType inputImageFormat = ImageFormatType.Default, ImageFormatType outputImageFormat = ImageFormatType.Default)
		{
			IImageProvider inputProvider = this.ProviderFactory.FindBestProvider(inputImageFormat);
			IImageProvider outputProvider = this.ProviderFactory.FindBestProvider(outputImageFormat);

			IEnumerable<Image> inputImages = inputProvider.Read(inputStream);
			List<Image> outputImages = new List<Image>();

			foreach (var image in inputImages)
			{
				outputImages.Add(ProcessImage(image));
			}

			outputProvider.Write(outputImages, outputStream, outputImageFormat, this.JpegCompression);
		}