Mevcut:*
Library | Materyal Türü | Barkod | Yer Numarası | Durum |
|---|---|---|---|---|
Searching... Pamukkale Merkez Kütüphanesi | Kitap | 0023532 | T385 .S96 2002 | Searching... Unknown |
Bound With These Titles
On Order
Özet
Özet
GDI+ both wraps arcane API calls and extends them for much easier use. Programmers no longer have to make do with the familiar but simplistic VB 6.0 drawing model, nor do they have to dig down into the GDI API in order to get any real work done. In GDI+, Microsoft has come up with a complete, but still extensible, set of classes for all of the .NET programmers drawing needs.
GDI+ requires different techniques than the Windows GDI API, as it is completely stateless. GDI+ Programming in C# and VB .NET starts out with an explanation of GDI+ and how it relates to GDI. The book then dives deep into the GDI+ namespaces and classes. The book begins with basic drawing in the early chapters and then explains in an understandable manner more complex drawing techniques, including paths, gradients, alpha blends, matrix operations, and transformations.
Later chapters cover how to work with bitmaps and other images, as well as advanced drawing and printing techniques. The final two chapters are devoted to useful projects that show the subject matter of the previous chapters in real-world examples.
Throughout GDI+ Programming in C# and VB .NET , author Nick Symmonds not only explains the different namespaces and classes relating to GDI+, but also takes the time to cover the best practices of graphics programming. Woven throughout the book are numerous examples that tie together different aspects of programming in .NET that teach programmers how to get the best possible speed and efficiency out of their code.
Author Notes
Nick Symmonds works for the Integrated System Solutions division of Ingersoll-Rand, developing and integrating security software. He started his professional life as an electronics technician. While getting his bachelor's degree in electrical engineering from the University of Hartford, he started to gravitate toward programming. Nick has spent quite a few years programming in assembly, C, C++, and Visual Basic. Recently, he has latched onto .NET like a lamprey and loves digging into the .NET core. Nick has written several articles on programming and has three books out: Internationalization and Localization Using Microsoft .NET (Apress, 2002), GDI+ Programming in C# and VB .NET (Apress, 2002), and Data Entry and Validation with C# and VB .NET Windows Forms (Apress, 2003). He lives with his family in the northwest hills of Connecticut and has recently become addicted to golf and road cycling. He also enjoys woodworking, hiking, and exploring the hills on his motorcycle.
Table of Contents
| About the Author | p. xiii |
| About the Technical Reviewer | p. xv |
| Acknowledgments | p. xvii |
| Introduction | p. xix |
| What Does This Book Cover? | p. xix |
| What Makes This Book Unique? | p. xx |
| Why Read This Book? | p. xxi |
| Who Should Read This Book? | p. xxi |
| A Note About the Examples | p. xxii |
| Part 1 Theory | p. 1 |
| Chapter 1 .NET Primer | p. 3 |
| Constructing Your Class | p. 3 |
| Overloading Functions | p. 5 |
| Collecting the Garbage | p. 6 |
| Cleaning Up After Yourself | p. 7 |
| Exception Handling | p. 7 |
| Special Case Try Blocks | p. 10 |
| Delegating Events | p. 12 |
| The Proper Delegate Calling Chain | p. 18 |
| Everything Is an Object | p. 22 |
| Integer vs. Long | p. 25 |
| Using Reflection | p. 26 |
| Turn On Strict Type Checking | p. 27 |
| Summary | p. 28 |
| Chapter 2 GDI Explained | p. 31 |
| Some Cool New Features | p. 32 |
| Unmanaged Code | p. 32 |
| Is There an Unmanaged GDI+? | p. 34 |
| Managed Code | p. 35 |
| The Device Context vs. the Graphics Object | p. 36 |
| Using a Device Context | p. 36 |
| Using the Graphics Object | p. 37 |
| The Main Features of GDI+ | p. 43 |
| 2D Vector Graphics | p. 43 |
| GDI+ Imaging | p. 44 |
| Displaying Text | p. 45 |
| Important Objects in GDI+ Drawing | p. 46 |
| The Pen Object | p. 46 |
| The Brush Object | p. 47 |
| The Graphics Object | p. 47 |
| Summary | p. 48 |
| Chapter 3 GDI and VB 6.0 Drawing Example | p. 49 |
| Constructing a Fishbowl | p. 49 |
| Using the VB 6.0 Drawing Tools | p. 50 |
| Making the VB 6.0 Project | p. 52 |
| Adding GDI Calls to the Main Program | p. 64 |
| Graphics in C++ | p. 72 |
| Summary | p. 77 |
| Chapter 4 Vector Graphics | p. 79 |
| Coordinate Systems and Transformations | p. 79 |
| Transforming World Coordinates | p. 79 |
| Transforming Device Coordinates | p. 80 |
| Using the System.Drawing Namespace | p. 81 |
| The System.Drawing Classes | p. 82 |
| Using the Pen Class | p. 82 |
| The Pens Class | p. 95 |
| The SolidBrush Class and the TextureBrush Class | p. 97 |
| The Brushes Class | p. 97 |
| Using the Graphics Class | p. 98 |
| Summary | p. 162 |
| Chapter 5 Advanced Graphics | p. 165 |
| More About Pens, Lines, and Brushes | p. 165 |
| Using the Hatch Brush | p. 171 |
| Blending Colors | p. 176 |
| Alpha Blending | p. 177 |
| My Friend Flicker | p. 187 |
| Blending | p. 191 |
| More Transforms | p. 228 |
| Miscellaneous Extras | p. 239 |
| Summary | p. 244 |
| Chapter 6 Working with Images | p. 247 |
| Images Files Explained | p. 247 |
| Storing Bitmaps As BMP Files | p. 249 |
| Storing Bitmaps As Other File Types | p. 250 |
| Working with Image Classes | p. 252 |
| The Bitmap Class | p. 253 |
| The Icon Class | p. 291 |
| Vector-Based Images | p. 292 |
| Creating Metafiles | p. 292 |
| Enumerating Metafiles | p. 296 |
| Simple Animation | p. 303 |
| Using Controls to Draw Images | p. 312 |
| Summary | p. 315 |
| Chapter 7 Drawing Text | p. 317 |
| Font Characteristics | p. 318 |
| Using the Correct Vernacular | p. 318 |
| Specifying the FontFamily | p. 319 |
| Specifying the Font | p. 322 |
| Using FontFamily Members | p. 322 |
| Showing Font Metrics | p. 323 |
| Enumerating Fonts | p. 330 |
| Other Font Properties | p. 337 |
| Collections of Fonts | p. 338 |
| Changing Perspective on Text | p. 346 |
| Formatting Text | p. 355 |
| Typing Text in a Rectangle | p. 357 |
| Summary | p. 372 |
| Chapter 8 Printing | p. 375 |
| How Printing Is Handled in .NET | p. 376 |
| The BeginPrint and EndPrint Events | p. 376 |
| The PagePrint Event | p. 377 |
| Creating a Standard Print Job | p. 401 |
| Printing Graphics | p. 415 |
| Dialog Box-Based Printing | p. 423 |
| Summary | p. 432 |
| Part 2 Application Notes | p. 433 |
| Chapter 9 GDI+ Projects | p. 435 |
| The Truth About GDI+ | p. 435 |
| The Screen Capture Program | p. 436 |
| Designing the Program | p. 436 |
| Drawing the Rectangle | p. 438 |
| Start the Project | p. 445 |
| Changing the Resolution | p. 449 |
| Entering Code for the Main Screen | p. 453 |
| Getting the Desktop Image | p. 460 |
| Showing the DeskTop Image | p. 463 |
| Summary | p. 490 |
| Chapter 10 GDI+ with Forms | p. 493 |
| What's the Point? | p. 494 |
| The Project Design | p. 494 |
| The Main Screen's Layout | p. 495 |
| Start the Project | p. 496 |
| Drawing the Shape | p. 498 |
| Smoothing the Path | p. 512 |
| Generating the Custom Form | p. 518 |
| Adding a Tree View of the Saved Paths | p. 533 |
| Dropping Names | p. 537 |
| One Last Thing | p. 544 |
| The Final Part | p. 546 |
| Summary | p. 548 |
| Appendix The Enumerations | p. 551 |
| Index | p. 567 |
