private void SelectedObject_PropertyChanged(object sender, PropertyChangedEventArgs e) { Diagnose.Start(); IMap16Object obj = (IMap16Object)sender; RedrawObject(obj); Diagnose.Time(); PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Image))); }
/// <summary> /// Redraw an object to the image. This does not invoke the image changed PropertChanged event. /// </summary> /// <param name="obj"></param> public void RedrawObject(IMap16Object obj) { //redraw. Rectangle rec = new Rectangle(obj.PixelX, obj.PixelY, obj.Size.Width, obj.Size.Height); using (Graphics g = Graphics.FromImage(Image)) { g.SetClip(rec); g.Clear(Color.Transparent); g.SetClip(new Rectangle(Point.Empty, Image.Size)); g.DrawImage(obj.GetImage(), rec); } }
public void Load(IMap16Object source) { Source = source; }
public Map16Wrapper(IMap16Object source) { Source = source; }