Ejemplo n.º 1
0
        GetEncoder(SaveFormat saveFormat)
        {
            SixLabors.ImageSharp.Formats.IImageEncoder enc = null;
            switch (saveFormat)
            {
            case SaveFormat.Png:
                enc = new SixLabors.ImageSharp.Formats.Png.PngEncoder();
                break;

            case SaveFormat.Jpg:
                enc = new SixLabors.ImageSharp.Formats.Jpeg.JpegEncoder();
                break;

            case SaveFormat.Gif:
                enc = new SixLabors.ImageSharp.Formats.Gif.GifEncoder();
                break;

            case SaveFormat.Bmp:
                enc = new SixLabors.ImageSharp.Formats.Bmp.BmpEncoder();
                break;

            default:
                enc = new SixLabors.ImageSharp.Formats.Png.PngEncoder();
                break;
            }

            return(enc);
        } // End Function GetEncoder
Ejemplo n.º 2
0
        public static void fooo(string fileName, SaveFormat saveFormat)
        {
            //var imagePath = Microsoft.AspNetCore.Http.PathString.FromUriComponent("/" + url);
            //var fileInfo =  _fileProvider.GetFileInfo(imagePath);


            var fileInfo = new System.IO.FileInfo(fileName);
            //if (!fileInfo.Exists) { return NotFound(); }


            int width  = 100;
            int height = 100;

            byte[] data = null;


            using (MemoryStream outputStream = new MemoryStream())
            {
                using (System.IO.Stream inputStream = fileInfo.OpenRead())
                {
                    using (Image <Rgba32> image = Image.Load(inputStream))
                    {
                        image.Mutate(
                            delegate(IImageProcessingContext <Rgba32> mutant)
                        {
                            mutant.Resize(image.Width / 2, image.Height / 2);
                        }
                            );

                        IImageEncoder enc = null;

                        if (saveFormat == SaveFormat.Jpg)
                        {
                            enc = new SixLabors.ImageSharp.Formats.Jpeg.JpegEncoder();
                        }
                        else if (saveFormat == SaveFormat.Png)
                        {
                            enc = new SixLabors.ImageSharp.Formats.Png.PngEncoder();
                        }
                        else if (saveFormat == SaveFormat.Png)
                        {
                            enc = new SixLabors.ImageSharp.Formats.Gif.GifEncoder();
                        }
                        else if (saveFormat == SaveFormat.Bmp)
                        {
                            enc = new SixLabors.ImageSharp.Formats.Bmp.BmpEncoder();
                        }

                        image.Save(outputStream, enc);
                    } // End Using image

                    data = outputStream.ToArray();
                } // End Using inputStream
            }     // End Using outputStream
        }         // End Sub fooo
Ejemplo n.º 3
0
        public static byte[] ResizeImage(string fileName, SaveFormat saveFormat)
        {
            byte[] data = null;


            using (MemoryStream outputStream = new MemoryStream())
            {
                using (Image <Rgba32> image = Image.Load(fileName))
                {
                    image.Mutate(
                        delegate(IImageProcessingContext <Rgba32> mutant)
                    {
                        mutant.Resize(image.Width / 22, image.Height / 22);
                    }
                        );

                    IImageEncoder enc = null;

                    if (saveFormat == SaveFormat.Jpg)
                    {
                        enc = new SixLabors.ImageSharp.Formats.Jpeg.JpegEncoder();
                    }
                    else if (saveFormat == SaveFormat.Png)
                    {
                        enc = new SixLabors.ImageSharp.Formats.Png.PngEncoder();
                    }
                    else if (saveFormat == SaveFormat.GIF)
                    {
                        enc = new SixLabors.ImageSharp.Formats.Gif.GifEncoder();
                    }
                    else if (saveFormat == SaveFormat.Bmp)
                    {
                        enc = new SixLabors.ImageSharp.Formats.Bmp.BmpEncoder();
                    }

                    image.Save(@"D:\myfileformat." + saveFormat.ToString().ToLowerInvariant(), enc);

                    image.SaveAsJpeg(outputStream);
                } // End Using image

                data = outputStream.ToArray();
            } // End Using outputStream


            System.IO.File.WriteAllBytes(@"d:\myfile.jpg", data);

            return(data);
        } // End Sub ResizeImage
Ejemplo n.º 4
0
 public bool SaveGif(Image <Rgba32> image, string filename, int attempts)
 {
     try
     {
         string fname = filename;
         if (attempts != 0)
         {
             fname += "(" + attempts + ")";
         }
         var outputStream = File.Open(fname + ".gif", FileMode.OpenOrCreate);
         var gifEncoder   = new SixLabors.ImageSharp.Formats.Gif.GifEncoder();
         image.Save(outputStream, gifEncoder);
         outputStream.Close();
         return(true);
     }
     catch (IOException e)
     {
         System.Console.WriteLine("Image saving failed.");
         System.Console.WriteLine(e);
         return(false);
     }
 }
Ejemplo n.º 5
0
        public void Save(System.IO.Stream strm, System.Drawing.Imaging.ImageFormat format)
        {
            SixLabors.ImageSharp.Formats.IImageEncoder enc = null;

            if (format == System.Drawing.Imaging.ImageFormat.Jpeg)
            {
                enc = new SixLabors.ImageSharp.Formats.Jpeg.JpegEncoder();
            }
            else if (format == System.Drawing.Imaging.ImageFormat.Png)
            {
                enc = new SixLabors.ImageSharp.Formats.Png.PngEncoder();
            }
            else if (format == System.Drawing.Imaging.ImageFormat.Gif)
            {
                enc = new SixLabors.ImageSharp.Formats.Gif.GifEncoder();
            }
            else if (format == System.Drawing.Imaging.ImageFormat.Bmp)
            {
                enc = new SixLabors.ImageSharp.Formats.Bmp.BmpEncoder();
            }

            this.m_image.Save(strm, enc);
        }
Ejemplo n.º 6
0
        public static MemoryStream Mark(MemoryStream inStream, string text, string fontPath)
        {
            text = $"···甘井子区重点车辆管理系统·{text}···";
            //首先先判断该图片是否是 gif动画,如果为gif动画不对图片进行改动
            using (Image <Rgba32> img = Image.Load(inStream.ToArray(), out IImageFormat format))
            {
                FontCollection fonts      = new FontCollection();
                FontFamily     fontFamily = fonts.Install(fontPath);

                if (fontFamily == null)
                {
                    SystemFonts.TryFind("DejaVu Sans", out fontFamily);
                }
                if (fontFamily == null)
                {
                    SystemFonts.TryFind("Book", out fontFamily);
                }
                if (fontFamily == null)
                {
                    SystemFonts.TryFind("DengXian", out fontFamily);
                }
                if (fontFamily == null)
                {
                    SystemFonts.TryFind("SimSun", out fontFamily);
                }
                if (fontFamily == null)
                {
                    SystemFonts.TryFind("Arial", out fontFamily);
                }
                if (fontFamily == null)
                {
                    fontFamily = SystemFonts.Families.First(t => t.Name.Contains("Hei") || t.Name.Contains("黑"));
                }
                if (fontFamily == null)
                {
                    fontFamily = SystemFonts.Families.First();
                }
                var font = fontFamily.CreateFont(14f);
                using (var img2 = img.Clone(ctx => ctx.ApplyScalingWaterMark(font, text, Rgba32.FromHex("ffffffdd"), 20, false)))
                {
                    IImageEncoder encoder = null;
                    if (format == ImageFormats.Bmp)
                    {
                        encoder = new SixLabors.ImageSharp.Formats.Bmp.BmpEncoder();
                    }
                    else if (format == ImageFormats.Jpeg)
                    {
                        encoder = new SixLabors.ImageSharp.Formats.Jpeg.JpegEncoder();
                    }
                    else if (format == ImageFormats.Png)
                    {
                        encoder = new SixLabors.ImageSharp.Formats.Png.PngEncoder();
                    }
                    else if (format == ImageFormats.Gif)
                    {
                        encoder = new SixLabors.ImageSharp.Formats.Gif.GifEncoder();
                    }
                    MemoryStream outStream = new MemoryStream();
                    img2.Save(outStream, encoder);
                    outStream.Close();
                    return(outStream);
                }
            }
        }