How to convert HEIC to PNG using C# in .NET Framework
HEIC, while default on many new apple devices, is not particularly convenient for web display or many forms of image processing. And converting between image formats on the fly can be a real hassle, especially when you need an automated solution. Today we will be looking into how to take the stress out of what should be a very simple process. This tutorial will use C# in .NET Framework (we have a separate API client that supports .NET Core).
First step, install the client using the Package Manager console:
Install-Package Cloudmersive.APIClient.NET.DocumentAndDataConvert -Version 1.3.4
Now call ConvertImageImageFormatConvert and provide the function with the file as well as the starting format (in this case HEIC) and desired format (PNG):
using System;
using System.Diagnostics;
using Cloudmersive.APIClient.NET.DocumentAndDataConvert.Api;
using Cloudmersive.APIClient.NET.DocumentAndDataConvert.Client;
using Cloudmersive.APIClient.NET.DocumentAndDataConvert.Model;namespace Example
{
public class ConvertImageImageFormatConvertExample
{
public void main()
{
// Configure API key authorization: Apikey
Configuration.Default.AddApiKey("Apikey", "YOUR_API_KEY");
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// Configuration.Default.AddApiKeyPrefix("Apikey", "Bearer");var apiInstance = new ConvertImageApi();
var format1 = format1_example; // string | Input file format as a 3+ letter file extension. You can also provide UNKNOWN for unknown file formats. Supported formats include AAI, ART, ARW, AVS, BPG, BMP, BMP2, BMP3, BRF, CALS, CGM, CIN, CMYK, CMYKA, CR2, CRW, CUR, CUT, DCM, DCR, DCX, DDS, DIB, DJVU, DNG, DOT, DPX, EMF, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EXR, FAX, FIG, FITS, FPX, GIF, GPLT, GRAY, HDR, HEIC, HPGL, HRZ, ICO, ISOBRL, ISBRL6, JBIG, JNG, JP2, JPT, J2C, J2K, JPEG/JPG, JXR, MAT, MONO, MNG, M2V, MRW, MTV, NEF, ORF, OTB, P7, PALM, PAM, PBM, PCD, PCDS, PCL, PCX, PDF, PEF, PES, PFA, PFB, PFM, PGM, PICON, PICT, PIX, PNG, PNG8, PNG00, PNG24, PNG32, PNG48, PNG64, PNM, PPM, PSB, PSD, PTIF, PWB, RAD, RAF, RGB, RGBA, RGF, RLA, RLE, SCT, SFW, SGI, SID, SUN, SVG, TGA, TIFF, TIM, UIL, VIFF, VICAR, VBMP, WDP, WEBP, WPG, X, XBM, XCF, XPM, XWD, X3F, YCbCr, YCbCrA, YUV
var format2 = format2_example; // string | Output (convert to this format) file format as a 3+ letter file extension. Supported formats include AAI, ART, ARW, AVS, BPG, BMP, BMP2, BMP3, BRF, CALS, CGM, CIN, CMYK, CMYKA, CR2, CRW, CUR, CUT, DCM, DCR, DCX, DDS, DIB, DJVU, DNG, DOT, DPX, EMF, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EXR, FAX, FIG, FITS, FPX, GIF, GPLT, GRAY, HDR, HEIC, HPGL, HRZ, ICO, ISOBRL, ISBRL6, JBIG, JNG, JP2, JPT, J2C, J2K, JPEG/JPG, JXR, MAT, MONO, MNG, M2V, MRW, MTV, NEF, ORF, OTB, P7, PALM, PAM, PBM, PCD, PCDS, PCL, PCX, PDF, PEF, PES, PFA, PFB, PFM, PGM, PICON, PICT, PIX, PNG, PNG8, PNG00, PNG24, PNG32, PNG48, PNG64, PNM, PPM, PSB, PSD, PTIF, PWB, RAD, RAF, RGB, RGBA, RGF, RLA, RLE, SCT, SFW, SGI, SID, SUN, SVG, TGA, TIFF, TIM, UIL, VIFF, VICAR, VBMP, WDP, WEBP, WPG, X, XBM, XCF, XPM, XWD, X3F, YCbCr, YCbCrA, YUV
var inputFile = new System.IO.Stream(); // System.IO.Stream | Input file to perform the operation on.try
{
// Image format conversion
byte[] result = apiInstance.ConvertImageImageFormatConvert(format1, format2, inputFile);
Debug.WriteLine(result);
}
catch (Exception e)
{
Debug.Print("Exception when calling ConvertImageApi.ConvertImageImageFormatConvert: " + e.Message );
}
}
}
}
And that’s it! Note that over 100 different image formats (including PSD and JPG) are supported by this function alone, and it can even detect the starting format if you enter UNKNOWN. Our conversion API also supports a wide variety of document formats as well, able to both convert and manipulate them.
try
{
// Recognize a photo of a receipt, extract key business information
ReceiptRecognitionResult result = apiInstance.ImageOcrPhotoRecognizeReceipt(imageFile, formTemplateDefinition, recognitionMode, language);
Debug.WriteLine(result);
}
catch (Exception e)
{
Debug.Print("Exception when calling ImageOcrApi.ImageOcrPhotoRecognizeReceipt: " + e.Message );
}
}
}
}