#!perl -w
use strict;
use warnings;
# Check save bit support.
# 16-32 bits JPEG automaticly converted in SaveToFile
# 16 bits PNG automaticly converted in SaveToFile
use Win32::GUI::DIBitmap();
print "FreeImage ", Win32::GUI::DIBitmap::GetVersion(), "\n";
my $count = Win32::GUI::DIBitmap::GetFIFCount();
print "Format\tWriting info\n";
my $dib1 = new Win32::GUI::DIBitmap (100,100,1);
my $dib4 = new Win32::GUI::DIBitmap (100,100,4);
my $dib8 = new Win32::GUI::DIBitmap (100,100,8);
my $dib16 = new Win32::GUI::DIBitmap (100,100,16);
my $dib24 = new Win32::GUI::DIBitmap (100,100,24);
my $dib32 = new Win32::GUI::DIBitmap (100,100,32);
my $f = "tmp";
for (my $fif = 0; $fif < $count; $fif++) {
my $format = Win32::GUI::DIBitmap::GetFormatFromFIF($fif);
#my $desc = Win32::GUI::DIBitmap::FIFDescription($fif);
if (Win32::GUI::DIBitmap::FIFSupportsWriting($fif)) {
my $write = '';
$write .= "1 " if ( $dib1->SaveToFile($f, $fif) ); unlink $f;
$write .= "4 " if ( $dib4->SaveToFile($f, $fif) ); unlink $f;
$write .= "8 " if ( $dib8->SaveToFile($f, $fif) ); unlink $f;
$write .= "16 " if ( $dib16->SaveToFile($f, $fif) ); unlink $f;
$write .= "24 " if ( $dib24->SaveToFile($f, $fif) ); unlink $f;
$write .= "32 " if ( $dib32->SaveToFile($f, $fif) ); unlink $f;
print "$format\t$write\n";
}
}