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]); }
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); }
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); }
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); }
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); }
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); }