Windows Graphics Programming

Windows Graphics Programming : Win32 GDI and DirectDraw

4.6 (5 ratings by Goodreads)
By (author) 

List price: US$64.99

Currently unavailable

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks


This book covers the Windows graphics system from the surface of Win32 APIs to the rock bottom of display and printer drivers with a special focus on the Win32 GDI and the DirectDraw portion of DirectX. Focusing on Windows NT 4 and Windows 2000 platforms, it covers things like the Windows graphics system architecture; GDI and DirectDraw data structures; drawing devices; GDI objects; pixels, lines and curves; filled areas and bitmaps; logical fonts and text formatting; metafiles; printing and spooling; DirectDraw interfaces; GDI debugging tools; the EMF decompiler; image rendering; and 3D effects.
show more

Product details

  • Hardback | 1280 pages
  • 187.7 x 244.3 x 61.7mm | 2,249.36g
  • Prentice Hall
  • Upper Saddle River, United States
  • English
  • w. figs.
  • 0130869856
  • 9780130869852

Table of contents

1. Basic Techniques and Knowledge.

Basic Windows Programming in C/C++. Assembly Language. Program Development Environment. Win32 Executable File Format. Architecture of Microsoft Windows OS. Summary.

2. Windows Graphics System Architecture.

Windows Graphics System Components. GDI Architecture. DirectX Architecture. Printing Architecture. Graphics Engine. Display Drivers. Printer Drivers. Summary.

3. GDI/DirectDraw Internal Data Structures.

Handles and Object-Oriented Programming. Decoding GDI Object Handles. Locating the GDI Object Handle Table. Decoding the GDI Object Handle Table. User Mode Data Structure of GDI Objects. Accessing Kernel Mode Address Space. WinDbg and the GDI Debugger Extension. GDI Kernel Mode Data Structure. DirectDraw Data Structure. Summary.

4. Spying in the Windows Graphics System.

Spying on Win32 API Calls. Spying on Win32 GDI. Spying on DirectDraw COM Interfaces. Spying on GDI System Calls. Spying on the DDI Interface. Summary.

5. Graphics Device Abstraction.

Modern Video Display Card. Device Context. Formalizing Device Context. Sample Program: Generic Frame Window. Sample Program: Painting and Device Context. Summary.

6. Coordinate Spaces and Transformation.

The Physical Device Coordinate Space. The Device Coordinate Space. The Page Coordinate Space and Mapping Modes. The World Coordinate Space. Using Coordinate Spaces. Sample Program: Scrolling and Zoom. Summary.

7. Pixels.

GDI Objects, Handles, and Handle Table. Clipping. Color. Drawing Pixels. Sample Program: Mandelbrot Set. Summary.

8. Lines and Curves.

Binary Raster Operations. Background Mode and Background Color. Pens. Lines. Bezier Curves. Arcs. Paths. Sample: Drawing Your Own Styled-Lines. Summary.

9. Areas.

Brushes. Rectangles. Ellipses, Chords, Pies, and Rounded Rectangles. Polygons. Closed Paths. Regions. Gradient Fills. Area Fills in Reality. Summary.

10. Bitmap Basics.

Device-Independent Bitmap Formats. A DIB Class. Displaying a DIB. Memory Device Contexts. Device-Dependent Bitmaps. Using DDBS. DIB Section. Summary.

11. Advanced Bitmap Graphics.

Ternary Raster Operations. Transparent Bitmaps. Transparency without a Mask Bitmap. Alpha Blending. Summary.

12. Image Processing Using Windows Bitmaps.

Generic Pixel Access. Bitmap Affine Transformation. Fast Specialized Bitmap Transformer. Bitmap Color Transformation. Bitmap Pixel Transformation. Bitmap Spatial Filters. Summary.

13. Palettes.

System Palette. The Logical Palette. Palette Messages. Palette and Bitmaps. Color Quantization. Bitmap Color-Depth Reduction. Summary.

14. Fonts.

What's a Font? Bitmap Fonts. Vector Fonts. TrueType Fonts. Font Installation and Embedding. Summary.

15. Text.

Logical Fonts. Querying Logical Font. Simple Text Drawing. Advanced Text Drawing. Text Formatting. Text Effects. Summary.

16. Metafile.

Metafile Basics. Inside an Enhanced Metafile. Enumerating an EMF. An EMF as a Programming Tool. Summary.

17. Printing.

Understanding the Spooler. Basic Printing Using GDI. Design for Printing. Drawing on Printer Device Context. Summary.

18. DirectDraw and Direct3D Immediate Mode.

Component Object Model (COM). DirectDraw Basics. Building a DirectDraw Graphics Library. Direct3D Immediate Mode. Summary.

show more

About Feng Yuan

FENG YUAN is a Software Design Engineer for Hewlett Packard in Vancouver, WA. He holds a Ph.D. in Software Engineering from Nanjing University. For the past four years, he has specialized in creating drivers for HP DeskJet printers-giving him a burning motivation and a unique opportunity to understand Windows graphics programming inside and out.
show more

Rating details

5 ratings
4.6 out of 5 stars
5 80% (4)
4 0% (0)
3 20% (1)
2 0% (0)
1 0% (0)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X