RAW image files, often called digital negatives, contain minimally processed data captured by image sensors. They are very flexible, meaning they give much more capabilities in terms of image processing than other image formats. For example, RAW files allow changing white balance, choosing sharpening algorithm, applying exposure compensation, etc. The drawback is the size of RAW files - they are really large. Graphics Mill allows reading RAW files, editing the loaded bitmap, and saving it to another supported image format. Also, you can operate RAW files in a memory-friendly way, using pipelines, like it is shown in the second snippet of this topic.
The first way to read a RAW image is using the GraphicsMill.Bitmap class:
using (var bitmap = new Bitmap(@"Images\Output\PowerStation.arw")) { bitmap.Save(@"Images\ReadRaw.jpg"); }
The other way is more memory-friendly, that could be crucial, since RAW images are rather large. This way presumes using the Codecs.RawReader class and pipelines:
if (CheckForRaw()) using (var reader = new RawReader(@"Images\PowerStation.arw")) using (var writer = new PngWriter(@"Images\Output\ReadRawMemoryFriendly.png")) { Pipeline.Run(reader + writer); }