Esempio n. 1
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]);
        }
Esempio n. 2
0
        protected override bool OnScriptCall(SciterElement se, string name, SciterValue[] args, out SciterValue result)
        {
            var r = new SciterImage(args[0]);
            var b = r.Save(SciterXGraphics.SCITER_IMAGE_ENCODING.SCITER_IMAGE_ENCODING_PNG);

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

            result = null;
            return(true);
        }
Esempio n. 3
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);
        }
Esempio n. 4
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);
        }
Esempio n. 5
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);
        }
Esempio n. 6
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);
        }