Transform Shape Bounds to screen bounds


Author
Message
Kevin Harrison 1
Kevin Harrison 1
Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)Supreme Being (79 reputation)
Group: Forum Members
Posts: 176, Visits: 1.9K
Hi
We want to simulate clicking on a shape in a diagram for testing purposes.
How do I transform the shape bounds within the view to screen coordinates?
Thanks
Kevin

Reply
Nevron Support
Nevron Support
Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)
Group: Administrators
Posts: 3.1K, Visits: 4.2K
Hi,

The bounds of a shape are in scene coordinates, so in order to get its bounds in screen coordinates you should first convert the scene coordinates to device coordinates using the drawing view's SceneToDevice transform and then convert the result to screen coordinates using the standard WinForms Control.PointToScreen method. Here's an example:


NRectangleF bounds = view.SceneToDevice.TransformBounds(shape.Bounds);
Point topLeft = view.PointToScreen(bounds.Location.Round().ToPoint());
Point bottomRight = view.PointToScreen(bounds.RightBottom.Round().ToPoint());


For more information about the coordinate systems used in Nevron Diagram for .NET, check out the Coordinate Systems documentation topic.

Best Regards,
Nevron Support Team


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...





Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search