private void CalculateCornersAndPaint(Point sprite, float widthSprite, float heightSprite) { var topLeft = new Point(sprite.X * widthSprite, sprite.Y * heightSprite); var topRight = new Point((sprite.X + 1.0f) * widthSprite, sprite.Y * heightSprite); var botLeft = new Point(sprite.X * widthSprite, (sprite.Y + 1.0f) * heightSprite); var botRight = new Point((sprite.X + 1.0f) * widthSprite, (sprite.Y + 1.0f) * heightSprite); var vertices = new[] { GetVertex(Rotate(DrawArea.TopLeft), topLeft), GetVertex(Rotate(DrawArea.TopRight), topRight), GetVertex(Rotate(DrawArea.BottomRight), botRight), GetVertex(Rotate(DrawArea.BottomLeft), botLeft) }; Image.Draw(vertices); }
public void GetBytesFromColorArray() { var colors = new[] { Color.Black, Color.White, Color.Red }; Assert.AreEqual(new byte[] { 0, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 255 }, Color.GetBytesFromArray(colors)); }
public void GetBgraBytesFromColorArrayWithAlpha() { var colors = new[] { Color.Black, Color.White, new Color(255, 0, 0, 128) }; Assert.AreEqual(new byte[] { 0, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 128 }, Color.GetRgbaBytesFromArray(colors)); }
private void DrawImageWithRotation() { var vertices = new[] { GetVertex(Rotate(DrawArea.TopLeft), Point.Zero), GetVertex(Rotate(DrawArea.TopRight), Point.UnitX), GetVertex(Rotate(DrawArea.BottomRight), Point.One), GetVertex(Rotate(DrawArea.BottomLeft), Point.UnitY) }; Image.Draw(vertices); }