?
Solved

Can I draw text and images in isometric perspective?

Posted on 2011-04-21
5
Medium Priority
?
914 Views
Last Modified: 2012-05-11

Hello, I am using GDI in VB.NET to plot a series of analysis points superimposed over a picture.  We have a need to show some things in depth so I am adding a mode to plot the points in accordance to an isometric XYZ axis instead of the plan view.  Previously I was using Graphics.DrawImageUnscaled to show my image before I would draw the points, is there a .NET GDI method to rotate the space and draw the image as if I was looking at it from the isometric perspective?

Thanks for any help.
0
Comment
Question by:riceman0
  • 3
  • 2
5 Comments
 
LVL 12

Expert Comment

by:omegaomega
ID: 35442936
Hello, riceman0,

I have never done this, but I expect that you will find the Transform property and associated methods of the Graphics class to be helpful for this purpose.  In particular, have a look at the RotateTransform, MultiplyTransform and ResetTransform methods.

Cheers,
Randy
 
0
 

Author Comment

by:riceman0
ID: 35443481

I've looked at those briefly, they can rotate and zoom the subsequent GDI commands, but I don;t think they can achieve any sort of perspective; e.g., rotation back into the screen.  There do seem to be dozens of image draw commands, was hoping there was an option buried in one of those parameters...
0
 
LVL 12

Accepted Solution

by:
omegaomega earned 2000 total points
ID: 35444007
Hi, riceman0,

No, by itself RotateTransform is just two dimensional.  I'm not aware of any predefined transforms that will give you the 3-D perspective.  I think that you will probably have to create your own transform matrix and assign it to the Transform property.  I had thought that perhaps some form of a skew transform matrix multiplied by a rotation matrix might have done the trick.  But, as mentioned, I've never done anything with 3-D, and maybe others with more experience can offer a simpler solution.

Cheers,
Randy


0
 

Author Comment

by:riceman0
ID: 35444259

" I think that you will probably have to create your own transform matrix and assign it to the Transform property"

Oh, if this works and can achieve kind of an isometric depth effect then it might be just the ticket.  I was certainly expecting to have to work through a little matrix math...
0
 
LVL 12

Expert Comment

by:omegaomega
ID: 35444898
Hi, riceman0,

I've never used Direct3D, and maybe it is precluded by your GDI+ requirement, but perhaps it's worth considering.  If staying with GDI+, perhaps the article at:

    http://www.simple-talk.com/dotnet/.net-framework/building-a-simple-3d-engine-with-silverlight/

might provide some helpful guidance.

Cheers,
Randy
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
The Relationships Diagram is a good way to get an overall view of what a database is keeping track of. It is also where relationships are defined. A relationship specifies how two tables connect to each other. As you build tables in Microsoft Ac…
Stellar Phoenix SQL Database Repair software easily fixes the suspect mode issue of SQL Server database. It is a simple process to bring the database from suspect mode to normal mode. Check out the video and fix the SQL database suspect mode problem.
Suggested Courses
Course of the Month7 days, 19 hours left to enroll

615 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question