Esempio n. 1
0
        /// <summary>
        /// Load an image from a file.
        /// </summary>
        /// <param name="filePath"></param>
        public void LoadImage(string filePath)
        {
            // check file header, save texture data to buffer
            using (Stream stream = Utility.ReadFile(filePath))
            {
                this.image       = ImageSharp.Image.Load <ImageSharp.Rgba32>(stream);
                this.textureData = this.image.Pixels.ToArray();
            }

            // create opengl texture object
            GL.ActiveTexture(GL.GL_TEXTURE0);
            GL.GenTextures(1, this.textureIdBuffer);
            var textureHandle = this.textureIdBuffer[0];

            GL.BindTexture(GL.GL_TEXTURE_2D, textureHandle);
            var textureDataPtr = Marshal.UnsafeAddrOfPinnedArrayElement(this.textureData, 0);

            GL.TexImage2D(GL.GL_TEXTURE_2D, 0, GL.GL_RGBA, this.Width, this.Height, 0, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, textureDataPtr);
            //sampler settings
            GL.TexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_S, (int)GL.GL_CLAMP);
            GL.TexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_T, (int)GL.GL_CLAMP);
            GL.TexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, (int)GL.GL_LINEAR);
            GL.TexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, (int)GL.GL_LINEAR);
            Utility.CheckGLError();
        }
Esempio n. 2
0
        public CoreSize CropResizeCore()
        {
            CoreImage image = new CoreImage(800, 800);

            image.Crop(100, 100);
            return(new CoreSize(image.Width, image.Height));
        }
Esempio n. 3
0
        public CoreSize ResizeCoreCompand()
        {
            CoreImage image = new CoreImage(2000, 2000);

            image.Resize(400, 400, true);
            return(new CoreSize(image.Width, image.Height));
        }
Esempio n. 4
0
        public void TriggerAvatarSwapTimer()
        {
            Timer swapTimer      = null;
            int   timerFrequency = Provider.GetService <MathService>().TimeUnitToMilli(TimeUnit.Minutes, Config.AvatarSwapFrequency);

            swapTimer = new Timer(async(e) => {
                string newAvatar = Config.MisakaAvatarUrls[Provider.GetService <MathService>().RandomRange(0, Config.MisakaAvatarUrls.Count - 1)];
                try
                {
                    ImageSharp.Image <ImageSharp.Rgba32> avatar = await Provider.GetService <HttpService>().GetImageBitmap(newAvatar);
                    MemoryStream memStream = new MemoryStream();
                    avatar.Save(memStream);
                    memStream.Position = 0;
                    await Client.CurrentUser.ModifyAsync(x =>
                    {
                        x.Username = "******";
                        x.Avatar   = new Discord.Image(memStream);
                    });
                    await Client.SetGameAsync($"on {Client.Guilds.Count.ToString()} servers! 👌");
                    await Client.UpdateServerCount();
                    ConsoleEx.WriteColoredLine(Discord.LogSeverity.Verbose, ConsoleTextFormat.TimeAndText, "The bot's avatar has been swapped.");
                }
                catch (Exception ex)
                {
                    ConsoleEx.WriteColoredLine(Discord.LogSeverity.Warning, ConsoleTextFormat.TimeAndText, $"The bot failed to swap avatars. [{newAvatar}].\n[", ConsoleColor.Red, ex.Message, ConsoleColor.Gray, "]");
                }
                swapTimer.Change(timerFrequency, 0);
                await Task.CompletedTask;
            }, null, timerFrequency, 0);
        }
Esempio n. 5
0
 private SixLabors.Primitives.Size LoadPng(MemoryStream stream)
 {
     using (Image <Rgba32> image = CoreImage.Load <Rgba32>(stream))
     {
         return(new SixLabors.Primitives.Size(image.Width, image.Height));
     }
 }
Esempio n. 6
0
        public void ReadImages()
        {
            if (bmpStream == null)
            {
                bmpStream          = File.OpenRead("../ImageSharp.Tests/TestImages/Formats/Bmp/Car.bmp");
                bmpCore            = new CoreImage(bmpStream);
                bmpStream.Position = 0;
                bmpDrawing         = Image.FromStream(bmpStream);
            }

            if (gifStream == null)
            {
                gifStream          = File.OpenRead("../ImageSharp.Tests/TestImages/Formats/Gif/rings.gif");
                gifCore            = new CoreImage(gifStream);
                gifStream.Position = 0;
                gifDrawing         = Image.FromStream(gifStream);
            }

            if (jpegStream == null)
            {
                jpegStream          = File.OpenRead("../ImageSharp.Tests/TestImages/Formats/Jpg/Calliphora.jpg");
                jpegCore            = new CoreImage(jpegStream);
                jpegStream.Position = 0;
                jpegDrawing         = Image.FromStream(jpegStream);
            }

            if (pngStream == null)
            {
                pngStream          = File.OpenRead("../ImageSharp.Tests/TestImages/Formats/Png/splash.png");
                pngCore            = new CoreImage(pngStream);
                pngStream.Position = 0;
                pngDrawing         = Image.FromStream(pngStream);
            }
        }
Esempio n. 7
0
 public CoreSize BmpCore()
 {
     using (MemoryStream memoryStream = new MemoryStream(this.bmpBytes))
     {
         CoreImage image = new CoreImage(memoryStream);
         return(new CoreSize(image.Width, image.Height));
     }
 }
Esempio n. 8
0
        public CoreSize FillRactangleCore()
        {
            CoreImage image = new CoreImage(800, 800);

            image.Fill(CoreColor.HotPink, new ImageSharp.Drawing.Shapes.RectangularPolygon(new CoreRectangle(10, 10, 190, 140)));

            return(new CoreSize(image.Width, image.Height));
        }
Esempio n. 9
0
 public CoreSize GlowBulk()
 {
     using (CoreImage image = new CoreImage(800, 800))
     {
         image.ApplyProcessor(bulk, image.Bounds);
         return(new CoreSize(image.Width, image.Height));
     }
 }
Esempio n. 10
0
 public CoreSize JpegCore()
 {
     using (MemoryStream memoryStream = new MemoryStream(jpegBytes))
     {
         CoreImage image = new CoreImage(memoryStream);
         return(new CoreSize(image.Width, image.Height));
     }
 }
Esempio n. 11
0
 public CoreSize ResizeCore()
 {
     using (CoreImage image = new CoreImage(2000, 2000))
     {
         image.Resize(400, 400);
         return(new CoreSize(image.Width, image.Height));
     }
 }
 public CoreSize ResizeCoreCompand()
 {
     using (CoreImage image = new CoreImage(2000, 2000))
     {
         image.Resize(400, 400, true);
         return new CoreSize(image.Width, image.Height);
     }
 }
Esempio n. 13
0
 public CoreSize GLowSimple()
 {
     using (CoreImage image = new CoreImage(800, 800))
     {
         image.ApplyProcessor(parallel, image.Bounds);
         return(new CoreSize(image.Width, image.Height));
     }
 }
Esempio n. 14
0
        public static void Main(string[] args)
        {
            ImageSharp.Configuration.Default.AddImageFormat(new ImageSharp.Formats.Tiff.TiffFormat());

            using (var image = new ImageSharp.Image("MARBLES.TIF"))
            {
                image.Save("MARBLES.png");
            }
        }
Esempio n. 15
0
        public CoreSize FillRactangleCore()
        {
            using (CoreImage image = new CoreImage(800, 800))
            {
                image.Fill(Rgba32.HotPink, new CoreRectangle(10, 10, 190, 140));

                return(new CoreSize(image.Width, image.Height));
            }
        }
Esempio n. 16
0
 public CoreSize GifCore()
 {
     using (MemoryStream memoryStream = new MemoryStream(this.gifBytes))
     {
         using (CoreImage image = CoreImage.Load(memoryStream))
         {
             return(new CoreSize(image.Width, image.Height));
         }
     }
 }
Esempio n. 17
0
 public void ReadImage()
 {
     if (this.image == null)
     {
         using (FileStream stream = File.OpenRead("../ImageSharp.Tests/TestImages/Formats/Bmp/Car.bmp"))
         {
             this.image = CoreImage.Load <Rgba32>(stream);
         }
     }
 }
Esempio n. 18
0
 public CoreSize PngCore()
 {
     using (MemoryStream memoryStream = new MemoryStream(this.pngBytes))
     {
         using (CoreImage image = new CoreImage(memoryStream))
         {
             return(new CoreSize(image.Width, image.Height));
         }
     }
 }
Esempio n. 19
0
        public CoreColor ResizeCore()
        {
            CoreImage image = new CoreImage(400, 400);

            using (PixelAccessor <CoreColor> imagePixels = image.Lock())
            {
                imagePixels[200, 200] = CoreColor.White;
                return(imagePixels[200, 200]);
            }
        }
Esempio n. 20
0
 public CoreSize PngCore()
 {
     using (var memoryStream = new MemoryStream(this.pngBytes))
     {
         using (var image = CoreImage.Load <Rgba32>(memoryStream))
         {
             return(new CoreSize(image.Width, image.Height));
         }
     }
 }
Esempio n. 21
0
 public void ReadImages()
 {
     if (this.bmpStream == null)
     {
         this.bmpStream          = File.OpenRead("../ImageSharp.Tests/TestImages/Formats/Bmp/Car.bmp");
         this.bmpCore            = CoreImage.Load <Rgba32>(this.bmpStream);
         this.bmpStream.Position = 0;
         this.bmpDrawing         = Image.FromStream(this.bmpStream);
     }
 }
Esempio n. 22
0
 public CoreSize JpegCore()
 {
     using (MemoryStream memoryStream = new MemoryStream(this.jpegBytes))
     {
         using (Image <Rgba32> image = CoreImage.Load <Rgba32>(memoryStream))
         {
             return(new CoreSize(image.Width, image.Height));
         }
     }
 }
Esempio n. 23
0
 public CoreSize JpegImageSharpPdfJs()
 {
     using (MemoryStream memoryStream = new MemoryStream(this.jpegBytes))
     {
         using (Image <Rgba32> image = CoreImage.Load <Rgba32>(memoryStream, new PdfJsJpegDecoder()))
         {
             return(new CoreSize(image.Width, image.Height));
         }
     }
 }
Esempio n. 24
0
 public Rgba32 ResizeCore()
 {
     using (CoreImage image = new CoreImage(400, 400))
     {
         using (PixelAccessor <Rgba32> imagePixels = image.Lock())
         {
             imagePixels[200, 200] = Rgba32.White;
             return(imagePixels[200, 200]);
         }
     }
 }
Esempio n. 25
0
        public void DrawPatternPolygon3Core()
        {
            CoreImage image = new CoreImage(800, 800);

            image.Fill(CoreBrushes.BackwardDiagonal(CoreColor.HotPink));

            using (MemoryStream ms = new MemoryStream())
            {
                image.SaveAsBmp(ms);
            }
        }
Esempio n. 26
0
 public void ReadImages()
 {
     if (this.bmpStream == null)
     {
         string path = this.LargeImage
                           ? "../ImageSharp.Tests/TestImages/Formats/Jpg/baseline/jpeg420exif.jpg"
                           : "../ImageSharp.Tests/TestImages/Formats/Bmp/Car.bmp";
         this.bmpStream          = File.OpenRead(path);
         this.bmpCore            = CoreImage.Load <Rgba32>(this.bmpStream);
         this.bmpStream.Position = 0;
     }
 }
Esempio n. 27
0
        public CoreSize FillPolygonCore()
        {
            CoreImage image = new CoreImage(800, 800);

            image.FillPolygon(CoreColor.HotPink, new[] {
                new Vector2(10, 10),
                new Vector2(200, 10),
                new Vector2(200, 150),
                new Vector2(10, 150)
            });

            return(new CoreSize(image.Width, image.Height));
        }
Esempio n. 28
0
        public async Task Color([Remainder] string color = null)
        {
            color = color?.Trim().Replace("#", "");
            if (string.IsNullOrWhiteSpace(color))
            {
                return;
            }
            var img = new ImageSharp.Image(50, 50);

            img.ApplyProcessor(new BackgroundColorProcessor <ImageSharp.Color>(ImageSharp.Color.FromHex(color)), img.Bounds);

            await Context.Channel.SendFileAsync(img.ToStream(), $"{color}.png").ConfigureAwait(false);
        }
Esempio n. 29
0
        public void DrawSolidPolygonCoreCahced()
        {
            using (CoreImage image = new CoreImage(800, 800))
            {
                image.Fill(
                    CoreColor.HotPink,
                    this.shape);

                using (MemoryStream ms = new MemoryStream())
                {
                    image.SaveAsBmp(ms);
                }
            }
        }
Esempio n. 30
0
        private void SaveDepthTextureToFile()
        {
            int width           = DepthMapWidth;
            int height          = DepthMapHeight;
            var cpuDepthTexture = new RawTextureDataArray <ushort>(width, height, sizeof(ushort), PixelFormat.Alpha_UInt16);

            _depthTexture.CopyTo(cpuDepthTexture);

            ImageSharp.Image image = new ImageSharp.Image(width, height);
            PixelFormatConversion.ConvertPixelsUInt16DepthToRgbaFloat(width * height, cpuDepthTexture.PixelData, image.Pixels);
            ImageSharpTexture rgbaDepthTexture = new ImageSharpTexture(image);

            Console.WriteLine($"Saving file: {width} x {height}, ratio:{(double)width / height}");
            rgbaDepthTexture.SaveToFile(Environment.TickCount + ".png");
        }