public static void Main(string[] args)
{
Converter c = new Converter();
c.m_testFriendly = g_testFriendly;
int argn = 0;
for (; argn < args.Length; argn++)
{
string arg = args[argn];
if (arg[0] != '-')
break;
string optarg = null;
if (argn < (args.Length - 1))
optarg = args[argn + 1];
arg = arg.Substring(1);
switch (arg[0])
{
case 'b':
c.m_processByBlock = true;
break;
case 'c':
if (optarg == "none")
c.m_compression = Compression.NONE;
else if (optarg == "packbits")
c.m_compression = Compression.PACKBITS;
else if (optarg == "lzw")
c.m_compression = Compression.LZW;
else if (optarg == "jpeg")
c.m_compression = Compression.JPEG;
else if (optarg == "zip")
c.m_compression = Compression.DEFLATE;
else
{
usage();
return;
}
argn++;
break;
case 'r':
case 't':
c.m_rowsPerStrip = int.Parse(optarg, CultureInfo.InvariantCulture);
argn++;
break;
case 'n':
c.m_noAlpha = true;
break;
case '?':
usage();
return;
}
}
if (args.Length - argn < 2)
{
usage();
return;
}
using (Tiff outImage = Tiff.Open(args[args.Length - 1], "w"))
{
if (outImage == null)
return;
for (; argn < args.Length - 1; argn++)
{
using (Tiff inImage = Tiff.Open(args[argn], "r"))
{
if (inImage == null)
return;
do
{
if (!c.tiffcvt(inImage, outImage) || !outImage.WriteDirectory())
return;
} while (inImage.ReadDirectory());
}
}
}
}