Asem Khen

Asem Khen

  • NA
  • 8
  • 1.7k

Image Collection in HEIC Container / C# Interface ?

Jun 4 2019 10:59 AM
As an example, I have This HEIC Sample File. It contains an Image collection in one single container.
 
I have been looking for a NET library that allows me to read Metadata, see how many images are in the container, and extract a specific image on request using a C# interface.
 
As a step, I have been looking into using SWIG with [libheif](https://github.com/strukturag/libheif) to create a DLL library with a C# interface.
 
I created a file in the Project directory named "libheif_Swig.i" containing this :
 
%module libheif
%{
#include "libheif/heif.h"
%}
%include
%include "libheif/heif.h"
 
Changed the properties of this file
 
Custom Build tools/ Command Line: c:\swigwin-4.0.0\swig -csharp -c++ -outdir C:\dump\swig\Generated libheif_Swig.i
Then just right-click libheif_Swig.i and select ‘Compile’. This will generate those files in the Generated folder.
cpp.cs
cpp_file.cs
cppPINVOKE.cs
and this file in the libheif folder
cpp_file_wrap.cxx
 
It is a very simple process that shouldnt take more than 5 min. My old PC however cant seem to handle it for some reason.
 
can someone hep compiling the SWIG interface, Create a DLL library with a C# interface or even point to a direction where there is a sulotion already made?
 
I am very thankful to all of you ! 

Attachment: HEIC.Sample.zip