Catálogo de publicaciones - libros

Compartir en
redes sociales


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

Información sobre derechos de publicación

© Apress 2006

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