Looking for Cartesian graphic component for dotnet....
-
I'm doing quite a bit of graphics work that involves displaying material on a cartesian coordinate graph using GDI+ methods (DrawLine, DrawRectangle, etc) in the Paint routines of a PictureBox. I'm always having to deal with scaling, rotation matrices and the other complications because the picturebox needs to have it's 'world' scaled rotated and translated before displaying normal Cartesian coords properly. Even with all this, it's always extra work to handle the fact that pens and some other graphics objects then draw their sizes transformed as well, and mouse events don't necessarily return points correctly. Many years ago, I used TrueBasic and it had a drawing component that you could set up as simple as giving the width, height and everything transformed accordingly. I'm looking for a dotnet component that will give me a similiar object so I can stop having to customize the existing picturebox. Paid components are fine, but I have to be able to use GDI+ to draw in it or it must support something similiar. I do *not* want to use graphing/charting components that require the graphics objects/points to be stored in their own arrays or other unique systems. I want to do the drawing myself. Any suggestions for a third party component?
-
I'm doing quite a bit of graphics work that involves displaying material on a cartesian coordinate graph using GDI+ methods (DrawLine, DrawRectangle, etc) in the Paint routines of a PictureBox. I'm always having to deal with scaling, rotation matrices and the other complications because the picturebox needs to have it's 'world' scaled rotated and translated before displaying normal Cartesian coords properly. Even with all this, it's always extra work to handle the fact that pens and some other graphics objects then draw their sizes transformed as well, and mouse events don't necessarily return points correctly. Many years ago, I used TrueBasic and it had a drawing component that you could set up as simple as giving the width, height and everything transformed accordingly. I'm looking for a dotnet component that will give me a similiar object so I can stop having to customize the existing picturebox. Paid components are fine, but I have to be able to use GDI+ to draw in it or it must support something similiar. I do *not* want to use graphing/charting components that require the graphics objects/points to be stored in their own arrays or other unique systems. I want to do the drawing myself. Any suggestions for a third party component?
please use System.Drawing namespace in your project. where you find the Graphics class which will give you all option to Draw anything by using cartesian co-ordinate system. for example.. using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using System.Drawing.Drawing2D; using System.Drawing.Imaging; namespace WaveformDemo { public partial class WaveDisplay : UserControl { [DefaultValue(10)] int _XDivision; //Total X Division [DefaultValue(10)] int _YDivision; [DefaultValue(10.0f)]//1 Volt per Division float _voltsPerDivision; [DefaultValue(10.0f)]//1 Sec per Division float _timePerDivision; [Browsable(true),DefaultValue(10)] public int XDivisions { get { return _XDivision; } set { _XDivision = value; } } [Browsable(true), DefaultValue(10)] public int YDivisions { get { return _YDivision; } set { _YDivision = value; } } [Browsable(true),DefaultValue(10.0f)] public float VoltagePerDivision { get { return _voltsPerDivision; } set { _voltsPerDivision = value; } } [Browsable(true), DefaultValue(10.0f)] public float TimePerDivision { get { return _timePerDivision; } set { _timePerDivision = value; } } public override Image BackgroundImage { get { return base.BackgroundImage; } set { base.BackgroundImage = value; } } public override ImageLayout BackgroundImageLayout { get { return base.BackgroundImageLayout; } set { base.BackgroundImageLayout = value; } } public WaveDisplay() { InitializeComponent(
-
please use System.Drawing namespace in your project. where you find the Graphics class which will give you all option to Draw anything by using cartesian co-ordinate system. for example.. using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using System.Drawing.Drawing2D; using System.Drawing.Imaging; namespace WaveformDemo { public partial class WaveDisplay : UserControl { [DefaultValue(10)] int _XDivision; //Total X Division [DefaultValue(10)] int _YDivision; [DefaultValue(10.0f)]//1 Volt per Division float _voltsPerDivision; [DefaultValue(10.0f)]//1 Sec per Division float _timePerDivision; [Browsable(true),DefaultValue(10)] public int XDivisions { get { return _XDivision; } set { _XDivision = value; } } [Browsable(true), DefaultValue(10)] public int YDivisions { get { return _YDivision; } set { _YDivision = value; } } [Browsable(true),DefaultValue(10.0f)] public float VoltagePerDivision { get { return _voltsPerDivision; } set { _voltsPerDivision = value; } } [Browsable(true), DefaultValue(10.0f)] public float TimePerDivision { get { return _timePerDivision; } set { _timePerDivision = value; } } public override Image BackgroundImage { get { return base.BackgroundImage; } set { base.BackgroundImage = value; } } public override ImageLayout BackgroundImageLayout { get { return base.BackgroundImageLayout; } set { base.BackgroundImageLayout = value; } } public WaveDisplay() { InitializeComponent(
Thanks, I'm aware that the math can be done manually. I was hoping for a third-party component so I could focus my efforts elsewhere and not have to focus on writing code for the existing drawing components.