Walt Ritscher: Grappling with Graphics

Exploring Windows Graphics - GDI+, Avalon, and more

  Home :: Contact :: Syndication  :: Login
  10 Posts :: 0 Stories :: 2 Comments :: 1 Trackbacks

Archives

My other blogs

Work

Tuesday, February 22, 2005 #

Sometimes it's easy to forget how powerful Visio is.  If all you ever create with with Visio is flowcharts and UML diagrams you may not know about many of its graphics tools.

Mai-lan (Lead Program Manager, Visio) has many blog posts about Visio, including developing with the SDK and generating MDSN style diagrams 

She's gotten multiple requests from blog readers to show how to get the same visual quality as seen in architectural diagrams posted on MSDN articles

Links

posted @ 11:00 PM | Feedback (1)

Thursday, January 27, 2005 #

Interested in drawing pictures in a cartoon-like fashion?   Here is a detailed tutorial that will show you how.

From http://rhysd.syntesis.org/tutorial/ 

Isometric Pixel Art (IPA) is a modern form of digital art that only recently has been accepted as a new art form. I’m sure most of us have seen this typical type of artwork in old games such as ‘X-Com’ or the relatively old ‘Ultima Online’. The 2-Dimensional (2D) representation of a 3-Dimensional (3D) object is fascinating to many people. This is possibly because of the simplicity and amount of small details that can fit into a single IPA piece. It doesn’t need that much brain power to figure out, yet it is pleasing to the eye. IPA can be compared to cartoons in many ways, as people like to look (watch) and accept the 2D art form as it is very simplistic and easy to follow.

posted @ 3:43 PM | Feedback (4)

Wednesday, January 19, 2005 #

http://blogs.msdn.com/danlehen/

There is boatload of great content here on Dan's blog.  He has spent a lot of time explaining the way the 3d engine works in Avalon.

If you haven't heard of Avalon, it's the new graphics engine for the next generation of Windows.

posted @ 4:47 PM | Feedback (3)

Tuesday, January 11, 2005 #

What a fun little program!  [Gloodle]

Drawing with globs is very captivating. 

 

Wondertouch, the company that produces Gloodle, also makes the impressive ParticleIllusion software.  ParticleIllusion is used to generate smoke, fire, particle streams, fog, rain and snow. 

posted @ 1:23 PM | Feedback (3)

Monday, December 20, 2004 #

At last the final release of Paint.NET is available for download.  See this article for more info.

posted @ 9:23 AM | Feedback (1)

Monday, October 25, 2004 #

I'm surprised  I haven't heard about something like Paint.NET before today.  The GDI+ tools in the framework have received plenty of coverage during the last couple of years.  Seems likely that someone, somewhere would create a replacement for the aging paint program.  I've know other developers that have been snooping around the GDI+ namespace, In fact last summer I was teaching a VB.NET  class (for a bunch of Microsoft employees) and one student, who had a graduate degree in imaging technology, wrote some great photo filters using VB.NET and the System.Drawing namespaces.  I'd give him credit here but I can't find his website

Paint.NET was written in C# and shows off what you can do with a GDI+ application.  It is a nice photo editing tool and has many interesting features including support for plug-ins.  Best of all you can download the source code and see how it was put together. 

 

I've seen most of the tools used in this program demonstrated elsewhere.  For example the color picker control in Paint.NET looks remarkably similar to the one written by Ken Getz for this MSDN article.  But Paint.NET has them all wrapped up in a single package. 

posted @ 11:55 AM | Feedback (6)

Thursday, August 05, 2004 #

Today I discovered that Microsoft has a wonderful vector-based tool available.  Apparently Microsoft Expression was picked up last year from another company and quietly added to the Microsoft website.  Frankly, I can't see why they're not promoting it more.  It looks like a very useful tool  - similar to Adobe Illustrator or Macromedia's Freehand - it exports to Flash format - and create nice graphics.

Added it to my toolbox today!

 

Sample drawings

 

 

posted @ 5:27 PM | Feedback (3)

Sunday, July 11, 2004 #

Study computer graphics for even a short time and you'll discover acronyms, technical terms and concepts that don't appear in the average business programers daily vocabulary.  Where can you find information about color theory, animation sprites, pixels, video card specifications and other graphics related technology?

I thought I would start sharing some of the resources that I run across in my weekly travels.

Dr Alvy Ray Smith has been a participant in many of the interesting companies working with computer graphics.   He co-founded Pixar and was director of research at Lucas Film so one can rightly assume that he knows a thing or two about graphics. 

He has a number of published articles on his web site that any budding graphics developer should read.  Start with his "a pixel is not a little square" article. 

 

posted @ 1:26 PM | Feedback (1)

Tuesday, March 09, 2004 #

I was looking through some sample code that I will be demonstrating next week at the Software Developer Expo in Santa Clara. (http://www.sdexpo.com) As is often the case while reading through older code I noticed a section that needed refactoring. 

Creating a selection rectangle, or lasso, on screen is simple enough.  Drawing a rectangle over of the control or image that is under the mouse is usually sufficient.  The only issues are determining how to draw the rectangle regardless of what direction your user decides to drag the mouse.  There are four possible directions to drag:

  • Upper Left to Lower Right
  • Upper Right to Lower Left
  • Lower Left to Upper Right
  • Lower Right to Upper Left

 

I decided to use the Extract Method  pattern and created the NormalizedRect function.


Private Function NormalizeRect(ByVal startingPoint As Point, ByVal endingPoint As Point) As Rectangle

' purpose: Define a rectangle given a starting point and ending point.

' moving left to right, right to left, top to bottom or bottom to top should not matter

Dim topLeftPoint, bottomRightPoint As Point
Dim tempRect As Rectangle

topLeftPoint.X = Math.Min(startingPoint.X, endingPoint.X)
topLeftPoint.Y = Math.Min(startingPoint.Y, endingPoint.Y)

bottomRightPoint.X = Math.Max(startingPoint.X, endingPoint.X)
bottomRightPoint.Y = Math.Max(startingPoint.Y, endingPoint.Y)

tempRect.Location = topLeftPoint
tempRect.Width = bottomRightPoint.X - topLeftPoint.X
tempRect.Height = bottomRightPoint.Y - topLeftPoint.Y

Return tempRect

End Function

posted @ 2:04 PM | Feedback (2)

Sunday, March 07, 2004 #

While I have held many programming jobs - database applications, component building, web applications - I have always harbored an interest in computer graphics.  I can remember spending hours, actually more like days, learning to move a red dot in an elliptical path on an old Apple II.  My friends and family thought I was nuts spending so much time on what appeared to them a pointless task.  But to me it was a fascinating undertaking.

Nowadays the choices for graphics programming are mind boggling. Windows has a variety of graphics engines to choose from.  There are platforms such as Macromedia Flash, and new standards like SVG (Scalable Vector Graphics).  Not to mention the emerging technologies from Microsoft (XAML, Avalon) scheduled to be included in the next version of Windows codenamed Longhorn.

I have been using GDI+ a lot on my latest project.  My intention is to use this blogspace to discuss the pitfalls and benefits of using the many different graphics engines available to the Windows developer 

First up... GDI+ and .NET.

posted @ 6:55 PM | Feedback (7)