BitMiracle.TiffCP.Copier.copyTag C# (CSharp) Method

copyTag() private static method

private static copyTag ( Tiff inImage, Tiff outImage, TiffTag tag, short count, TiffType type ) : void
inImage BitMiracle.LibTiff.Classic.Tiff
outImage BitMiracle.LibTiff.Classic.Tiff
tag TiffTag
count short
type TiffType
return void
        private static void copyTag(Tiff inImage, Tiff outImage, TiffTag tag, short count, TiffType type)
        {
            FieldValue[] result = null;
            switch (type)
            {
                case TiffType.SHORT:
                    result = inImage.GetField(tag);
                    if (result != null)
                    {
                        if (count == 1)
                            outImage.SetField(tag, result[0]);
                        else if (count == 2)
                            outImage.SetField(tag, result[0], result[1]);
                        else if (count == 4)
                            outImage.SetField(tag, result[0], result[1], result[2]);
                        else if (count == -1)
                            outImage.SetField(tag, result[0], result[1]);
                    }
                    break;
                case TiffType.LONG:
                    result = inImage.GetField(tag);
                    if (result != null)
                        outImage.SetField(tag, result[0]);
                    break;
                case TiffType.RATIONAL:
                    result = inImage.GetField(tag);
                    if (result != null)
                        outImage.SetField(tag, result[0]);
                    break;
                case TiffType.ASCII:
                    result = inImage.GetField(tag);
                    if (result != null)
                        outImage.SetField(tag, result[0]);
                    break;
                case TiffType.DOUBLE:
                    result = inImage.GetField(tag);
                    if (result != null)
                        outImage.SetField(tag, result[0]);
                    break;
                default:
                    Tiff.Error(inImage.FileName(),
                        "Data type {0} is not supported, tag {1} skipped.", tag, type);
                    break;
            }
        }