-
Recent Posts
-
Recent Comments
- RodStephens on Use a standard Windows dialog to let the user select folders in C#
- Yohann on Use a standard Windows dialog to let the user select folders in C#
- Fred on Draw and move polygons snapping them to a grid in C#
- RodStephens on Display the local time and GMT in C#
- RodStephens on Draw a 3D surface with WPF, XAML, and C#
Archives
- January 2021
- December 2020
- November 2020
- October 2020
- September 2020
- August 2020
- July 2020
- June 2020
- May 2020
- April 2020
- March 2020
- February 2020
- January 2020
- December 2019
- November 2019
- October 2019
- September 2019
- August 2019
- July 2019
- June 2019
- May 2019
- April 2019
- March 2019
- February 2019
- January 2019
- December 2018
- November 2018
- October 2018
- September 2018
- August 2018
- July 2018
- June 2018
- May 2018
- April 2018
- March 2018
- February 2018
- January 2018
- December 2017
- November 2017
- October 2017
- September 2017
- August 2017
- July 2017
- June 2017
- May 2017
- April 2017
- March 2017
- February 2017
- January 2017
- December 2016
- November 2016
- October 2016
- September 2016
- August 2016
- July 2016
- June 2016
- May 2016
- April 2016
- March 2016
- February 2016
- January 2016
- December 2015
- November 2015
- October 2015
- September 2015
- August 2015
- July 2015
- June 2015
- May 2015
- April 2015
- March 2015
- February 2015
- January 2015
- December 2014
- November 2014
- October 2014
- September 2014
- August 2014
- July 2014
- June 2014
- May 2014
- February 2014
- January 2014
- December 2013
- October 2013
- August 2013
- June 2013
- December 2012
- September 2012
- July 2012
- June 2012
- November 2011
- May 2011
- April 2011
- February 2011
- December 2010
Categories
- .NET
- 3D
- 3D graphics
- ADO.NET
- algorithms
- animation
- API
- arrays
- attributes
- audio
- books
- C#
- C# programming
- calculations
- challenges
- classes
- clipboard
- coding
- combinatorics
- console
- controls
- cryptography
- curve fitting
- database
- debugging
- dialogs
- directories
- Drag and Drop
- drawing
- drawings
- enums
- Event
- events
- example program
- Excel
- extension methods
- extensions
- files
- finance
- fonts
- formatting
- forms
- fractals
- ftp
- games
- GDI+
- generic
- geometry
- globalization
- graphics
- html
- IDE
- image processing
- inheritance
- interfaces
- internationalization
- internet
- interoperability
- LINQ
- lists
- localization
- mathematics
- memory
- menus
- MessageBox
- methods
- miscellany
- multimedia
- network
- Office
- OOP
- operators
- parsing
- performance
- phone
- PowerPoint
- printers
- printing
- productivity
- programs
- puzzles
- recursion
- reflection
- registry
- regular expressions
- serialization
- settings
- SQL
- stories
- strings
- syntax
- system
- threading
- three-dimensional graphics
- tips
- tools
- transformations
- Uncategorized
- user interface
- variables
- VBA
- web
- Windows Forms programming
- WMI
- Word
- wpf
- XAML
- XML
Meta
Monthly Archives: August 2016
Scale images and save them in C#
Occasionally when I’m writing a book or article, I need to scale images and then save them. MS Paint does this easily, but it loses any transparency information when it saves images. This program lets you scale images and then … Continue reading
Make shaped PictureBoxes in C#
This example shows how to use regions to make shaped PictureBoxes. The PNG image format allows you to define transparent pixels. As you might guess, if you draw an image with transparent pixels, those pixels are not drawn and whatever … Continue reading
Posted in algorithms, geometry, graphics, image processing
Tagged AddEllipse, algorithms, C#, C# programming, example, example program, geometry, graphics, GraphicsPath, image processing, images, PictureBox, Region, shaped control, shaped PictureBox, shaped PictureBoxes, transparent images, Windows Forms programming
1 Comment
Draw trees vertically or horizontally in C#
The example Handle generic TreeNode mouse events in C# shows how to build a generic node class that can draw trees with nodes that contain just about anything. In that example, each each node is centered over its subtree. This … Continue reading
Posted in algorithms, classes, drawing, graphics
Tagged add node, add tree node, algorithms, C#, C# programming, classes, delete node, delete tree node, drawing, example, example program, generic, generic classes, graphics, MouseDown, MouseMove, TreeNode, trees, Windows Forms programming
3 Comments
Use DrawImage to warp images in C#
The examples Warp images arbitrarily in C#, Part 1 and Warp images arbitrarily in C#, Part 2 show how to use inverse transformations to warp images arbitrarily. The Graphics class’s DrawImage method also lets you warp images. It’s not as … Continue reading
Posted in drawing, graphics, image processing
Tagged C#, C# programming, DrawImage, drawing, example, example program, graphics, image processing, warp images, Windows Forms programming
Leave a comment
Warp images arbitrarily in C#, Part 2
The post Warp images arbitrarily in C#, Part 1 explains how to warp images, but it omits the method that maps an output pixel (x1, y1) back to an input pixel (x0, y0) in the original image. This post describes … Continue reading
Posted in algorithms, graphics, image processing, mathematics
Tagged algorithms, Bitmap, Bitmap32, blur, C#, C# programming, colorize, detect edges, edge detection, emboss, example, example program, filter, graphics, high pass filter, image processing, kernel, low pass filter, mathematics, Windows Forms programming
Leave a comment
Warp images arbitrarily in C#, Part 1
This is an extension of the example Use image filters to perform edge detection, smoothing, embossing, and more in C# that adds new features that warp images in arbitrary ways. The idea is to use two functions F(x, y) and … Continue reading
Posted in algorithms, graphics, image processing, mathematics
Tagged algorithms, Bitmap, Bitmap32, blur, C#, C# programming, colorize, detect edges, edge detection, emboss, example, example program, filter, graphics, high pass filter, image processing, kernel, low pass filter, mathematics, Windows Forms programming
5 Comments
Compare fuel efficiency in different units in C#
People in the United States, Canada, the United Kingdom, and several other places measure a car’s fuel efficiency in miles per gallon. As you might expect, countries that use the metric system may measure fuel efficiency in kilometers per liter, … Continue reading
Compare car costs including long term mileage in C#
This example calculates the total car costs including gas use. Some cars that seem less expensive than others actually cost more in the long run because they get worse gas mileage. Enter the total number of city and highway miles … Continue reading
Posted in finance, mathematics
Tagged C#, C# programming, car costs, example, example program, finance, finances, mathematics, mileage, total car costs, Windows Forms programming
Leave a comment
Draw an analog clock in C#
This example demonstrates several useful techniques including: Context menus Restricting a form to a region to give it a shape. Moving a form with no title bar Double buffering Drawing with transformations Drawing an analog clock When you right-click the … Continue reading
Posted in animation, drawing, forms, graphics
Tagged analog clock, animation, C#, C# programming, clock, DefWndProc, double buffer, DoubleBuffered, drawing, example, example program, forms, graphics, HTCAPTION, timer, transformations, Windows Forms programming, WM_NCLBUTTONDOWN
2 Comments
Use XML comments in C#
C# let’s you use XML comments to give extra information to IntelliSense and that can be used to automatically generate documentation. These comments start with three / symbols and should be placed before the program item to which they apply. … Continue reading →