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

Book Review: The C# Helper Top 100

A review of the book "The C# Helper Top 100" by Rod Stephens

avatar
Richard Moss
article

Getting a window rectangle without the drop shadow

A short article which describes how to get a window rectangle without including offsets for drop shadows

avatar
Richard Moss
article

Capturing screenshots using C# and p/invoke

I was recently updating some documentation and wanted to programmatically capture some screenshots of the application in different states. This article describes how you can easily capture screenshots in your own applications using the `BitBlt` Win32 API call.

avatar
Richard Moss
article

Writing custom Markdig extensions

Markdig is an extensible Markdown processor built with performance in mind. This article details how to create a simple Markdig extension to extend the parsing functionality to create inline links for MantisBT issue numbers (or GitHub or similar).

avatar
Richard Moss
article

Announcing MantisSharp, a .NET client for using the MantisBT REST API

I've released a new open source project named MantisSharp, a simple .NET client for working with the recently introduced REST API for Mantis Bug Tracker.

avatar
Richard Moss
article

Restoring missing Authorization header when using PHP with Apache

A short post which describes how to adjust .htaccess to enable the REST API in Mantis Bug Tracker to work.

avatar
Richard Moss
article

Translating text with Azure cognitive services

Some time ago, I used the Bing Translator API to help create localization for some of our products. As Microsoft recently retired the Data Market used to provide this service it was high time to migrate to the replacement Cognitive Services API hosted on Azure. This article covers using the basics of Azure cognitive services to translate text using simple HTTP requests.

avatar
Richard Moss
article

Using custom type converters with C# and YamlDotNet, part 2

Recently I discussed using type converters to perform custom serialization of types in YamlDotNet. In this post I'll concentrate on expanding the type converter to support deserialization as well.

avatar
Richard Moss
article

Using custom type converters with C# and YamlDotNet, part 1

One of our internal tools eschews XML or JSON configuration files in favour of something more human readable - YAML using YamlDotNet. For the most part the serialisation and deserialisation of YAML documents in .NET objects is as straight forward as using libraries such as JSON.net but when I was working on some basic serialisation there were a few issues. This article describes how to use the `IYamlTypeConverter` interface to handle custom YAML serialisation functionality.

avatar
Richard Moss
article

Writing Microsoft RIFF Palette (pal) files with C#

A short follow up which demonstrates how to write a RIFF palette with ease.

avatar
Richard Moss
article

Loading Microsoft RIFF Palette (pal) files with C#

At the start of 2014, I published an article describing how to read colour palettes from BBM/LBM files. At the end of that article I noted that Microsoft palette files used a similar format, but I didn't investigate that at the time. Since then I followed up with articles on reading and writing Adobe's Color Swatch and Color Exchange format files and I posted code for working with JASC, Gimp and other palette formats. Now, finally, I decided to complete the collection and present an article on reading Microsoft's palette files.

avatar
Richard Moss