using CommonLang.Geometry; using CommonLang.Geometry.SceneGraph2D; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; namespace CommonFroms.SceneGraph2D { //---------------------------------------------------------------------------------------------------------------------------------- public class ImageNode : DisplayNode { private Bitmap _dimg; private Vector2 _size; public Vector2 Size { get { return _size; } } public Bitmap Image { get { return _dimg; } } public ImageNode(System.Drawing.Image src) { _dimg = ImageUtils.ImageToBitmap(src); _size = new Vector2(_dimg.Width, _dimg.Height); } public Color GetPixel(int x, int y) { return _dimg.GetPixel(x, y); } protected override void OnDrawBegin(IGraphics g) { base.OnDrawBegin(g); var gfx = (g as Win32Graphics).gfx; gfx.DrawImage(_dimg, -_dimg.Width / 2f, -_dimg.Height / 2f); } public static ImageNode CreateImage(string file) { System.Drawing.Image image = System.Drawing.Image.FromFile(file); var ret = new ImageNode(image); return ret; } //---------------------------------------------------------------------------------------------------------------------------------- } //---------------------------------------------------------------------------------------------------------------------------------- }