article

Painting animated images using C#

A short article on using the ImageAnimator class to allow animated GIF's to be properly painted using System.Drawing and C#.

avatar
Richard Moss
article

Reading and writing farbfeld images using C#

Normally when I load textures in OpenGL, I have a PNG file which I load into a `System.Drawing.Bitmap` and from there I pull out the bytes and pass to `glTexImage2D`. It works, but seems a bit silly having to create the bitmap in the first place. For this reason, I was toying with the idea of creating a very simple image format so I could just read the data directly when I came across a simple format named farbfeld. This article describes a basic encoder/decoder for C# along with my own thoughts.

avatar
Richard Moss
article

Even more algorithms for dithering images using C#

Although I should really be working on adding the dithering algorithms into Gif Animator, I thought it would be useful to expand the repertoire of algorithms available for use with such tools. This article briefly mentions the expanded error diffusion algorithms that are now included, and in slightly more detail covers random dithering as well.

avatar
Richard Moss
article

Dithering an image using the Burkes algorithm in C#

Another article in my C# image dithering mini-series, this time covering the Burkes error diffusion algorithm.

avatar
Richard Moss
article

Dithering an image using the Floyd‑Steinberg algorithm in C#

In my previous introductory post, I briefly described the concept of dithering an image. In this article, I will describe how to dither an image in C# using the Floyd–Steinberg algorithm.

avatar
Richard Moss
article

An introduction to dithering images

When you reduce the number of colours in an image, it's often hard to get a 1:1 match, and so typically you can expect to see banding in an image - areas of unbroken solid colours where once multiple similar colours were present. Such banding can often ruin the look of the image, however by using dithering algorithms you can reduce such banding and greatly improve the appearance of the reduced image. This article briefly discusses dithering as a prelude to further articles with actual dithering implementations.

avatar
Richard Moss
article

Displaying the contents of a PDF file in an ASP.NET application using GhostScript

A quick sample which shows how to convert PDF files into images and display them in an ASP.NET application.

avatar
Richard Moss
article

Arcade explosion generator

Sample C# application project which can generate basic arcade style explosion images for use in your own applications.

avatar
Richard Moss
article

Extending the ImageBox component to display the contents of a PDF file using C#

Article describing how to extend the ImageBox control to support displaying PDF files using the GhostScript API, removing the need for a dedicated PDF reader.

avatar
Richard Moss
article

Convert a PDF into a series of images using C# and GhostScript

Article which describes how to use C# and GhostScript to convert PDF files into raster images for displaying in an application without requiring a dedicated PDF reader.

avatar
Richard Moss
article

Creating a scrollable and zoomable image viewer in C# Part 4

Fourth and final in a multi part series on creating an image viewer that can be scrolled and zoomed in C#. After part three added panning, we now add zoom support via the mouse wheel and clicking with the left or right buttons, along with some additional display properties.

avatar
Richard Moss
article

Creating a scrollable and zoomable image viewer in C# Part 3

Third in a multi part series on creating an image viewer that can be scrolled and zoomed in C#. After part two added scrolling support, we now extend this to support panning and keyboard scrolling.

avatar
Richard Moss