Catálogo de publicaciones - libros
Pro .NET 2.0 Graphics Programming
Eric White
Resumen/Descripción – provisto por la editorial
No disponible.
Palabras clave – provistas por la editorial
Software Engineering/Programming and Operating Systems
Disponibilidad
| Institución detectada | Año de publicación | Navegá | Descargá | Solicitá |
|---|---|---|---|---|
| No detectada | 2006 | SpringerLink |
Información
Tipo de recurso:
libros
ISBN impreso
978-1-59059-445-2
ISBN electrónico
978-1-4302-0075-8
Editor responsable
Springer Nature
País de edición
Reino Unido
Fecha de publicación
2006
Información sobre derechos de publicación
© Apress 2006
Cobertura temática
Tabla de contenidos
.NET Graphics Programming
Eric White
This chapter provided an overview of GDI+ and examined the use of custom controls in the .NET Framework.
You learned that GDI+ is based on GDI. It is a layer over GDI, but adds a lot of functionality to GDI. So, while you’ll usually take advantage of the new, improved programming interface for graphical operations that GDI+ offers, you can always use GDI directly when GDI+ doesn’t meet your needs.
Next, we looked at custom control design and implementation in .NET. The chapter identified three key features that make custom control technology powerful: the ability to produce controls with defined properties, defined events, and a customizable design-time appearance.
Then I noted four areas that you should be familiar with before proceeding with the rest of the book:
In the next chapter, you will learn about the drawing surfaces related to the target environments for the graphics resulting from GDI+ coding.
Pp. 1-9
Drawing Surfaces
Eric White
Different analysis problems for state-transition models can be uniformly treated as instances of temporal logic query-checking, where solutions to the queries are restricted to states. In this paper, we propose a symbolic query-checking algorithm that finds exactly the state solutions to a query. We argue that our approach generalizes previous specialized techniques, and this generality allows us to find new and interesting applications, such as finding stable states. Our algorithm is linear in the size of the state space and in the cost of model checking, and has been implemented on top of the model checker NuSMV, using the latter as a black box. We show the effectiveness of our approach by comparing it, on a gene network example, to the naive algorithm in which all possible state solutions are checked separately.
Pp. 11-38
Pens and Brushes
Eric White
In this chapter, we discussed the various ways in which coordinate systems that are used with drawing and clipping don’t really work together in a natural way. You saw examples of several drawing operations using GDI+—specifically, Draw... and Fill... operations and operations involving regions. I pointed out how, even though the operations have similar coordinates, the parts of the drawing surface affected by these operations are rather different at the pixel level. When you’re drawing to drawing surfaces that have a resolution of around 96 DPI, as most screens do, this level of detail is sufficient to spoil 3D and other effects, or simply make your controls look untidy.
We took a look at the GraphicsOM class, which implements an alternative coordinate system, called the Outline Model coordinate system. One of the advantages of this coordinate system is that if you pass identical coordinates to methods for drawing rectangles, filling rectangles, clipping, invalidation, and drawing lines, an identical set of pixels is affected in each case.
Finally, we looked at how the GraphicsOM class uses these techniques to draw rectangles and lines that have a raised or inset appearance, and how these operations have nearly identical behavior to the other GraphicsOM drawing methods. We didn’t discuss the source code of the GraphicsOM class here, but it is available as part of the source code that accompanies this book, which is available from the Downloads section of the Apress web site (www.apress.com).
Pp. 39-64
Text and Fonts
Eric White
This chapter provided an overview of GDI+ and examined the use of custom controls in the .NET Framework.
You learned that GDI+ is based on GDI. It is a layer over GDI, but adds a lot of functionality to GDI. So, while you’ll usually take advantage of the new, improved programming interface for graphical operations that GDI+ offers, you can always use GDI directly when GDI+ doesn’t meet your needs.
Next, we looked at custom control design and implementation in .NET. The chapter identified three key features that make custom control technology powerful: the ability to produce controls with defined properties, defined events, and a customizable design-time appearance.
Then I noted four areas that you should be familiar with before proceeding with the rest of the book:
In the next chapter, you will learn about the drawing surfaces related to the target environments for the graphics resulting from GDI+ coding.
Pp. 65-100
Images
Eric White
Different analysis problems for state-transition models can be uniformly treated as instances of temporal logic query-checking, where solutions to the queries are restricted to states. In this paper, we propose a symbolic query-checking algorithm that finds exactly the state solutions to a query. We argue that our approach generalizes previous specialized techniques, and this generality allows us to find new and interesting applications, such as finding stable states. Our algorithm is linear in the size of the state space and in the cost of model checking, and has been implemented on top of the model checker NuSMV, using the latter as a black box. We show the effectiveness of our approach by comparing it, on a gene network example, to the naive algorithm in which all possible state solutions are checked separately.
Pp. 101-138
GraphicsPaths and Regions
Eric White
In this chapter, we discussed the various ways in which coordinate systems that are used with drawing and clipping don’t really work together in a natural way. You saw examples of several drawing operations using GDI+—specifically, Draw... and Fill... operations and operations involving regions. I pointed out how, even though the operations have similar coordinates, the parts of the drawing surface affected by these operations are rather different at the pixel level. When you’re drawing to drawing surfaces that have a resolution of around 96 DPI, as most screens do, this level of detail is sufficient to spoil 3D and other effects, or simply make your controls look untidy.
We took a look at the GraphicsOM class, which implements an alternative coordinate system, called the Outline Model coordinate system. One of the advantages of this coordinate system is that if you pass identical coordinates to methods for drawing rectangles, filling rectangles, clipping, invalidation, and drawing lines, an identical set of pixels is affected in each case.
Finally, we looked at how the GraphicsOM class uses these techniques to draw rectangles and lines that have a raised or inset appearance, and how these operations have nearly identical behavior to the other GraphicsOM drawing methods. We didn’t discuss the source code of the GraphicsOM class here, but it is available as part of the source code that accompanies this book, which is available from the Downloads section of the Apress web site (www.apress.com).
Pp. 139-156
Clipping and Invalidation
Eric White
This chapter provided an overview of GDI+ and examined the use of custom controls in the .NET Framework.
You learned that GDI+ is based on GDI. It is a layer over GDI, but adds a lot of functionality to GDI. So, while you’ll usually take advantage of the new, improved programming interface for graphical operations that GDI+ offers, you can always use GDI directly when GDI+ doesn’t meet your needs.
Next, we looked at custom control design and implementation in .NET. The chapter identified three key features that make custom control technology powerful: the ability to produce controls with defined properties, defined events, and a customizable design-time appearance.
Then I noted four areas that you should be familiar with before proceeding with the rest of the book:
In the next chapter, you will learn about the drawing surfaces related to the target environments for the graphics resulting from GDI+ coding.
Pp. 157-182
Transformations
Eric White
In this chapter, we examined some of the more advanced problems associated with processing mouse events. We looked at using mouse cursors to give a greater level of feedback to the end user. You can use the stock cursors, or you can create custom cursors.
You saw that hit testing is made easy by functionality in the Rectangle structure, and the Region and GraphicsPath classes.
You also saw the difference between drawing during a Paint event and drawing during a mouse event. You can get a Graphics object for the form during the mouse event and draw without waiting for a Paint event.
The chapter next covered how to draw directly to the display using an alpha technique, creating a semitransparent image of the object being dragged. We also examined the preventative measures to take so that you don’t have the situation where your control thinks that the mouse button is down when it is not.
Finally, you saw how to code an application that allows the user to select parts of the display area by holding the mouse just outside the client area in a manner similar to how selection works in many text editors.
Pp. 183-201
Printing
Eric White
Different analysis problems for state-transition models can be uniformly treated as instances of temporal logic query-checking, where solutions to the queries are restricted to states. In this paper, we propose a symbolic query-checking algorithm that finds exactly the state solutions to a query. We argue that our approach generalizes previous specialized techniques, and this generality allows us to find new and interesting applications, such as finding stable states. Our algorithm is linear in the size of the state space and in the cost of model checking, and has been implemented on top of the model checker NuSMV, using the latter as a black box. We show the effectiveness of our approach by comparing it, on a gene network example, to the naive algorithm in which all possible state solutions are checked separately.
Pp. 203-232
An Alternative Coordinate System
Eric White
In this chapter, we discussed the various ways in which coordinate systems that are used with drawing and clipping don’t really work together in a natural way. You saw examples of several drawing operations using GDI+—specifically, Draw... and Fill... operations and operations involving regions. I pointed out how, even though the operations have similar coordinates, the parts of the drawing surface affected by these operations are rather different at the pixel level. When you’re drawing to drawing surfaces that have a resolution of around 96 DPI, as most screens do, this level of detail is sufficient to spoil 3D and other effects, or simply make your controls look untidy.
We took a look at the GraphicsOM class, which implements an alternative coordinate system, called the Outline Model coordinate system. One of the advantages of this coordinate system is that if you pass identical coordinates to methods for drawing rectangles, filling rectangles, clipping, invalidation, and drawing lines, an identical set of pixels is affected in each case.
Finally, we looked at how the GraphicsOM class uses these techniques to draw rectangles and lines that have a raised or inset appearance, and how these operations have nearly identical behavior to the other GraphicsOM drawing methods. We didn’t discuss the source code of the GraphicsOM class here, but it is available as part of the source code that accompanies this book, which is available from the Downloads section of the Apress web site (www.apress.com).
Pp. 233-247