Example #1
0
        public void Dimensions()
        {
            _sciterImage = SciterImage.Create(1, 1, true);

            var dimensions = _sciterImage.Dimensions;

            Assert.AreEqual(1, dimensions.Width);
            Assert.AreEqual(1, dimensions.Height);
        }
Example #2
0
        public void To_SciterValue()
        {
            _sciterImage = SciterImage.Create(1, 1, false);

            var value = _sciterImage.ToSciterValue();

            Assert.NotNull(value);
            Assert.IsTrue(value.IsResource);
        }
Example #3
0
        public void From_byte_array(byte[] buffer)
        {
            _sciterImage = SciterImage.Create(buffer);
            var dimensions = _sciterImage.Dimensions;

            Assert.NotNull(_sciterImage);
            Assert.AreEqual(1, dimensions.Width);
            Assert.AreEqual(1, dimensions.Height);
        }
Example #4
0
        protected override ScriptEventResult OnScriptCall(SciterElement element, MethodInfo method, SciterValue[] args)
        {
            var r = SciterImage.Create(args[0]);
            var b = r.Save(ImageEncoding.Png);

            File.WriteAllBytes("d:/test.png", b);

            return(ScriptEventResult.Successful());
        }
Example #5
0
        public void Save_a_valid_raw_image(int width, int height, bool withAlpha)
        {
            _sciterImage = SciterImage.Create(width, height, withAlpha);
            var buffer = _sciterImage.Save(ImageEncoding.Raw);

            Assert.NotNull(_sciterImage);
            Assert.AreEqual(width * height * 4, buffer.Length);
            Assert.AreEqual(withAlpha ? 0 : 255, buffer[3]);
        }
        public static SciterImage ToSciterImage(this SKBitmap bitmap)
        {
            if (bitmap.ColorType != SKColorType.Bgra8888)
            {
                throw new InvalidOperationException($"Please use `{nameof(SKColorType)}.{nameof(SKColorType.Bgra8888)}`");
            }

            return(SciterImage.Create(bitmap.GetPixels(), (uint)bitmap.Width, (uint)bitmap.Height, true));
        }
Example #7
0
        public void Try_save_a_valid_raw_image(int width, int height, bool withAlpha)
        {
            _sciterImage = SciterImage.Create(width, height, withAlpha);
            var result = _sciterImage.TrySave(out var buffer, ImageEncoding.Raw);

            Assert.NotNull(_sciterImage);
            Assert.IsTrue(result);
            Assert.AreEqual(width * height * 4, buffer.Length);
            Assert.AreEqual(withAlpha ? 0 : 255, buffer[3]);
        }
Example #8
0
        public void Try_get_dimensions()
        {
            _sciterImage = SciterImage.Create(1, 1, true);

            var result = _sciterImage.TryGetDimensions(out var dimensions);

            Assert.NotNull(_sciterImage);
            Assert.IsTrue(result);
            Assert.AreEqual(1, dimensions.Width);
            Assert.AreEqual(1, dimensions.Height);
        }
Example #9
0
        public void Create_and_clear_image(byte r, byte g, byte b, byte alpha)
        {
            _sciterImage = SciterImage.Create(1, 1, true);
            _sciterImage.Clear(SciterColor.Create(r: r, g: g, b: b, alpha: alpha));

            var buffer = _sciterImage.Save(ImageEncoding.Raw);

            Assert.NotNull(_sciterImage);
            Assert.AreEqual(1 * 1 * 4, buffer.Length);
            Assert.AreEqual(new byte[] { (byte)(r / (byte.MaxValue / alpha)), (byte)(g / (byte.MaxValue / alpha)), (byte)(b / (byte.MaxValue / alpha)), alpha }, buffer);
        }
Example #10
0
        public void From_SciterValue()
        {
            var sciterImage = SciterImage.Create(1, 1, false);
            var sciterValue = sciterImage.ToSciterValue();

            _sciterImage = SciterImage.Create(sciterValue);
            var dimensions = _sciterImage.Dimensions;

            Assert.NotNull(_sciterImage);
            Assert.AreEqual(sciterImage.Handle, _sciterImage.Handle);
            Assert.AreEqual(1, dimensions.Width);
            Assert.AreEqual(1, dimensions.Height);
        }
Example #11
0
        public void Saves_a_valid_webp_image_in_riff_format()
        {
            _sciterImage = SciterImage.Create(10, 10, false);
            var buffer = _sciterImage.Save(ImageEncoding.WebP);

            var headerBuffer = new byte[4];

            Array.Copy(buffer, headerBuffer, Math.Min(headerBuffer.Length, buffer.Length));

            Assert.NotNull(_sciterImage);
            Assert.GreaterOrEqual(buffer.Length, headerBuffer.Length);
            Assert.AreEqual(System.Text.Encoding.UTF8.GetBytes("RIFF"), headerBuffer);
        }
Example #12
0
        public void From_Bitmap()
        {
            using (var bitmap = new Bitmap(1, 1, PixelFormat.Format32bppArgb))
            {
                _sciterImage = SciterImage.Create(bitmap);

                var dimensions = _sciterImage.Dimensions;

                Assert.NotNull(_sciterImage);
                Assert.AreEqual(1, dimensions.Width);
                Assert.AreEqual(1, dimensions.Height);
            }
        }
Example #13
0
        public void Save_a_valid_png_image()
        {
            _sciterImage = SciterImage.Create(10, 10, false);
            var buffer = _sciterImage.Save(ImageEncoding.Png);

            var headerBuffer = new byte[8];

            Array.Copy(buffer, headerBuffer, Math.Min(headerBuffer.Length, buffer.Length));

            Assert.NotNull(_sciterImage);
            Assert.GreaterOrEqual(buffer.Length, headerBuffer.Length);
            Assert.AreEqual(new byte[] { 137, 80, 78, 71, 13, 10, 26, 10 }, headerBuffer);
        }
Example #14
0
        public void Save_a_valid_jpg_image_in_jfif_format()
        {
            _sciterImage = SciterImage.Create(10, 10, false);
            var buffer = _sciterImage.Save(ImageEncoding.Jpg);

            var headerBuffer = new byte[4];

            Array.Copy(buffer, headerBuffer, Math.Min(headerBuffer.Length, buffer.Length));

            Assert.NotNull(_sciterImage);
            Assert.GreaterOrEqual(buffer.Length, headerBuffer.Length);
            Assert.AreEqual(new byte[] { 255, 216, 255, 224 }, headerBuffer);
        }
Example #15
0
        protected override void Attached(
            SciterElement element)
        {
            int width  = 400;
            int height = 400;

            byte[] data = new byte[width * height * 4];
            var    ctx  = new CGBitmapContext(data, width, height, 8, width * 4, CGColorSpace.CreateGenericRgb(), CGImageAlphaInfo.PremultipliedLast);

            ctx.SetFillColor(new CGColor(100, 0, 0));
            ctx.SetStrokeColor(new CGColor(0, 0, 100));
            ctx.SetLineWidth(2);

            //ctx.AddPath(_svg._cgpath);
            //ctx.DrawPath(CGPathDrawingMode.FillStroke);

            _simg = SciterImage.Create(ctx.ToImage());
            //element.SetStyle("width", img.Width + "px");
            //element.SetStyle("height", img.Height + "px");
        }
Example #16
0
        public void From_IntPtr(byte[] buffer)
        {
            var data = Marshal.AllocHGlobal(buffer.Length);

            Marshal.Copy(buffer, 0, data, buffer.Length);

            try
            {
                _sciterImage = SciterImage.Create(data, 1, 1, true);

                var dimensions = _sciterImage.Dimensions;

                Assert.NotNull(_sciterImage);
                Assert.AreEqual(1, dimensions.Width);
                Assert.AreEqual(1, dimensions.Height);
            }
            finally
            {
                Marshal.FreeHGlobal(data);
            }
        }
Example #17
0
 public static SciterImage ToSciterImage(this SKBitmap bitmap)
 {
     return(SciterImage.Create(bitmap.GetPixels(), (uint)bitmap.Width, (uint)bitmap.Height, true));
 }
Example #18
0
 public void Invalid_size_returns_null(int width, int height, bool withAlpha)
 {
     _sciterImage = SciterImage.Create(width, height, withAlpha);
     Assert.IsNull(_sciterImage);
 }
Example #19
0
        public void Create_width_height_withAlpha(int width, int height, bool withAlpha)
        {
            _sciterImage = SciterImage.Create(width, height, withAlpha);

            Assert.NotNull(_sciterImage);
        }