public void DrawPoint(Style style, Point p) { if (EnsureStyle(ref style, StyleTypes.PenBrushImage)) { WToG(ref p); foreach (IBaseStyle baseStyle in style) { switch (baseStyle.StyleType) { case StyleTypes.Brush: { int r = lib.Config.geometry.pointRadius; graphics.FillEllipse(baseStyle.Brush, p.X - r, p.Y - r, r + r, r + r); } break; case StyleTypes.Pen: { int r = lib.Config.geometry.pointRadius; graphics.DrawEllipse(baseStyle.Pen, p.X - r, p.Y - r, r + r, r + r); } break; case StyleTypes.Image: ImageStyle st = baseStyle as ImageStyle; Image image = st.image; p.X -= image.Size.Width / 2; p.Y -= image.Size.Height / 2; graphics.DrawImageUnscaled(image, p); break; } } } }
TextureBrush GetTextureBrush(ImageStyle imageStyle) { TextureBrush tb = null; if (imageStyle.attr == null) { tb = new TextureBrush(imageStyle.image); } else { Rectangle r = new Rectangle(0, 0, imageStyle.image.Width, imageStyle.image.Height); tb = new TextureBrush(imageStyle.image, r, imageStyle.attr); } return(tb); }
public Brush GetBrush() { if (!sbImage.IsEmpty) { ImageStyle imageStyle = sbImage.GetImageStyle(); if (imageStyle != null) { return(GetTextureBrush(imageStyle)); } } if (HasKey("hs")) { return(GetHatchBrush()); } if (HasKey("c")) { return(GetSolidBrush()); } return(null); }