public void Dimensions() { _sciterImage = SciterImage.Create(1, 1, true); var dimensions = _sciterImage.Dimensions; Assert.AreEqual(1, dimensions.Width); Assert.AreEqual(1, dimensions.Height); }
public void To_SciterValue() { _sciterImage = SciterImage.Create(1, 1, false); var value = _sciterImage.ToSciterValue(); Assert.NotNull(value); Assert.IsTrue(value.IsResource); }
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); }
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()); }
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)); }
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]); }
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); }
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 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); }
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 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); } }
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); }
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); }
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"); }
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); } }
public static SciterImage ToSciterImage(this SKBitmap bitmap) { return(SciterImage.Create(bitmap.GetPixels(), (uint)bitmap.Width, (uint)bitmap.Height, true)); }
public void Invalid_size_returns_null(int width, int height, bool withAlpha) { _sciterImage = SciterImage.Create(width, height, withAlpha); Assert.IsNull(_sciterImage); }
public void Create_width_height_withAlpha(int width, int height, bool withAlpha) { _sciterImage = SciterImage.Create(width, height, withAlpha); Assert.NotNull(_sciterImage); }