Ejemplo n.º 1
0
        private void cmdAdd_Click(object sender, System.EventArgs e)
        {
            try
            {
                // We assemble and add some test TIFF tags
                // This demonstrates adding each type of tag

                string ret;

                // Byte - TIFF Type 1
                byte[] byteTag;
                byteTag    = new byte[1];
                byteTag[0] = 1;
                Accusoft.ImagXpressSdk.ImageXTag my101Tag = new Accusoft.ImagXpressSdk.ImageXTag();
                my101Tag.TagNumber = 101;
                my101Tag.TagType   = TagTypes.Byte;
                my101Tag.TagLevel  = 0;
                my101Tag.SetTagBytes(byteTag);
                colTags.Add(my101Tag);

                // Ascii - TIFF Type 2
                byte[] asciiTag;
                System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
                asciiTag = encoding.GetBytes("Tag 2");
                Accusoft.ImagXpressSdk.ImageXTag my102Tag = new Accusoft.ImagXpressSdk.ImageXTag();
                my102Tag.SetTagBytes(asciiTag);
                my102Tag.TagNumber = 102;
                my102Tag.TagType   = TagTypes.Ascii;
                my102Tag.TagLevel  = 0;
                colTags.Add(my102Tag);

                // Short - TIFF Type 3
                int[] shortTag;
                shortTag    = new int[1];
                shortTag[0] = 3;
                Accusoft.ImagXpressSdk.ImageXTag my103Tag = new Accusoft.ImagXpressSdk.ImageXTag();
                my103Tag.TagNumber = 103;
                my103Tag.TagType   = TagTypes.Short;
                my103Tag.TagLevel  = 0;
                my103Tag.SetTagUInt16(shortTag);
                colTags.Add(my103Tag);

                // Long - TIFF Type 4
                long[] longTag;
                longTag    = new long[1];
                longTag[0] = 4;
                Accusoft.ImagXpressSdk.ImageXTag my104Tag = new Accusoft.ImagXpressSdk.ImageXTag();
                my104Tag.TagNumber = 104;
                my104Tag.TagType   = TagTypes.Long;
                my104Tag.TagLevel  = 0;
                my104Tag.SetTagUInt32(longTag);
                colTags.Add(my104Tag);

                // Rational - TIFF Type 5
                long[] rationalTag;
                rationalTag = new long[2];
                // Holder for rational data
                rationalTag[0] = 600;               // Numerator
                rationalTag[1] = 2;                 // Denominator
                Accusoft.ImagXpressSdk.ImageXTag my105Tag = new Accusoft.ImagXpressSdk.ImageXTag();
                my105Tag.TagNumber = 105;
                my105Tag.TagType   = TagTypes.Rational;
                my105Tag.TagLevel  = 0;
                my105Tag.SetTagRational(rationalTag);
                colTags.Add(my105Tag);

                // SByte - TIFF Type 6
                short[] sbyteTag;
                sbyteTag    = new short[1];
                sbyteTag[0] = -6;
                Accusoft.ImagXpressSdk.ImageXTag my106Tag = new Accusoft.ImagXpressSdk.ImageXTag();
                my106Tag.TagNumber = 106;
                my106Tag.TagType   = TagTypes.Sbyte;
                my106Tag.TagLevel  = 0;
                my106Tag.SetTagSBytes(sbyteTag);
                colTags.Add(my106Tag);

                // Undefine - TIFF Type 7
                byte[] undefineTag;
                undefineTag    = new byte[1];
                undefineTag[0] = 7;
                Accusoft.ImagXpressSdk.ImageXTag my107Tag = new Accusoft.ImagXpressSdk.ImageXTag();
                my107Tag.SetTagBytes(undefineTag);
                my107Tag.TagNumber = 107;
                my107Tag.TagType   = TagTypes.Undefine;
                my107Tag.TagLevel  = 0;
                colTags.Add(my107Tag);

                // SShort - TIFF Type 8
                short[] sshortTag;
                sshortTag    = new short[1];
                sshortTag[0] = -8;
                Accusoft.ImagXpressSdk.ImageXTag my108Tag = new Accusoft.ImagXpressSdk.ImageXTag();
                my108Tag.TagNumber = 108;
                my108Tag.TagType   = TagTypes.Sshort;
                my108Tag.TagLevel  = 0;
                my108Tag.SetTagInt16(sshortTag);
                colTags.Add(my108Tag);

                // SLong - TIFF Type 9
                int[] slongTag;
                slongTag    = new int[1];
                slongTag[0] = -9;
                Accusoft.ImagXpressSdk.ImageXTag my109Tag = new Accusoft.ImagXpressSdk.ImageXTag();
                my109Tag.TagNumber = 109;
                my109Tag.TagType   = TagTypes.Slong;
                my109Tag.TagLevel  = 0;
                my109Tag.SetTagInt32(slongTag);
                colTags.Add(my109Tag);

                // SRational - TIFF Type 10
                int[] srationalTag;
                srationalTag = new int[2];
                //  Holder for srational data
                srationalTag[0] = -600;              // Numerator
                srationalTag[1] = 2;                 // Denominator
                Accusoft.ImagXpressSdk.ImageXTag my110Tag = new Accusoft.ImagXpressSdk.ImageXTag();
                my110Tag.TagNumber = 110;
                my110Tag.TagType   = TagTypes.Srational;
                my110Tag.TagLevel  = 0;
                my110Tag.SetTagSRational(srationalTag);
                colTags.Add(my110Tag);

                // Float - TIFF Type 11
                float[] floatTag;
                floatTag    = new float[1];
                floatTag[0] = 11.65F;
                Accusoft.ImagXpressSdk.ImageXTag my111Tag = new Accusoft.ImagXpressSdk.ImageXTag();
                my111Tag.TagNumber = 111;
                my111Tag.TagType   = TagTypes.Float;
                my111Tag.TagLevel  = 0;
                my111Tag.SetTagFloat(floatTag);
                colTags.Add(my111Tag);

                // Double - TIFF Type 12
                double[] doubleTag;
                doubleTag    = new double[1];
                doubleTag[0] = 12.42;
                Accusoft.ImagXpressSdk.ImageXTag my112Tag = new Accusoft.ImagXpressSdk.ImageXTag();
                my112Tag.TagNumber = 112;
                my112Tag.TagType   = TagTypes.Double;
                my112Tag.TagLevel  = 0;
                my112Tag.SetTagDouble(doubleTag);
                colTags.Add(my112Tag);

                lstTags.Items.Clear();

                foreach (Accusoft.ImagXpressSdk.ImageXTag itag in colTags)
                {
                    ret = GetTags(itag);
                    lstTags.Items.Add(new ListViewItem(new System.String[] { itag.TagNumber.ToString(), itag.TagType.ToString(), itag.TagElementsCount.ToString(), ret }));
                }
            }
            catch (Accusoft.ImagXpressSdk.ImagXpressException ex)
            {
                AccusoftError(ex, lblerror);
            }
        }
Ejemplo n.º 2
0
        public static String GetTags(Accusoft.ImagXpressSdk.ImageXTag Tag)
        {
            string TagString;

            switch (Tag.TagType)
            {
            case Accusoft.ImagXpressSdk.TagTypes.Ascii:
            {
                System.String outdata = "";
                for (int j = 0; j < Tag.TagElementsCount; j++)
                {
                    outdata += ((char)Tag.GetTagBytes()[j]);
                }
                TagString = outdata;  return(TagString);
            }

            case Accusoft.ImagXpressSdk.TagTypes.Byte:
            {
                System.String outdata = "";
                for (int j = 0; j < Tag.TagElementsCount; j++)
                {
                    if (j > 0)
                    {
                        outdata += ", ";
                    }
                    outdata += (Tag.GetTagBytes()[j]);
                }
                TagString = outdata;  return(TagString);
            }

            case Accusoft.ImagXpressSdk.TagTypes.Double:
            {
                System.String outdata = "";
                for (int j = 0; j < Tag.TagElementsCount; j++)
                {
                    if (j > 0)
                    {
                        outdata += ", ";
                    }
                    outdata += Tag.GetTagDouble()[j].ToString();
                }
                TagString = outdata;  return(TagString);
            }

            case Accusoft.ImagXpressSdk.TagTypes.Float:
            {
                System.String outdata = "";
                for (int j = 0; j < Tag.TagElementsCount; j++)
                {
                    if (j > 0)
                    {
                        outdata += ", ";
                    }
                    outdata += Tag.GetTagFloat()[j].ToString();
                }
                TagString = outdata;  return(TagString);
            }

            case Accusoft.ImagXpressSdk.TagTypes.Long:
            {
                TagString = "";
                for (int i = 0; i < Tag.TagElementsCount; i++)
                {
                    if (i > 0)
                    {
                        TagString += ", ";
                    }
                    TagString += Tag.GetTagRational()[i].ToString();
                }
                return(TagString);
            }

            case Accusoft.ImagXpressSdk.TagTypes.Rational:
            {
                TagString = "";
                for (int i = 0; i < (Tag.TagElementsCount / 2); i++)
                {
                    if (i > 0)
                    {
                        TagString += ", ";
                    }
                    TagString += Tag.GetTagRational()[i * 2].ToString() + "/" + Tag.GetTagRational()[(i * 2) + 1].ToString();
                }
                return(TagString);
            }

            case Accusoft.ImagXpressSdk.TagTypes.Sbyte:
            {
                System.String outdata = "";
                for (int j = 0; j < Tag.TagElementsCount; j++)
                {
                    if (j > 0)
                    {
                        outdata += ", ";
                    }
                    outdata += Tag.GetTagSBytes()[j].ToString();
                }
                TagString = outdata;  return(TagString);
            }

            case Accusoft.ImagXpressSdk.TagTypes.Short:
            {
                System.String outdata = "";
                for (int j = 0; j < Tag.TagElementsCount; j++)
                {
                    if (j > 0)
                    {
                        outdata += ", ";
                    }
                    outdata += Tag.GetTagUInt16()[j].ToString();
                }
                TagString = outdata;  return(TagString);
            }

            case Accusoft.ImagXpressSdk.TagTypes.Slong:
            {
                TagString = "";
                for (int i = 0; i < Tag.TagElementsCount; i++)
                {
                    if (i > 0)
                    {
                        TagString += ", ";
                    }
                    TagString += Tag.GetTagInt32()[i].ToString();
                }
                return(TagString);
            }

            case Accusoft.ImagXpressSdk.TagTypes.Srational:
            {
                TagString = "";
                for (int i = 0; i < (Tag.TagElementsCount / 2); i++)
                {
                    if (i > 0)
                    {
                        TagString += ", ";
                    }
                    TagString += Tag.GetTagSRational()[i * 2].ToString() + "/" + Tag.GetTagSRational()[(i * 2) + 1].ToString();
                }
                return(TagString);
            }

            case Accusoft.ImagXpressSdk.TagTypes.Sshort:
            {
                System.String outdata = "";
                for (int j = 0; j < Tag.TagElementsCount; j++)
                {
                    if (j > 0)
                    {
                        outdata += ", ";
                    }
                    outdata += Tag.GetTagInt16()[j].ToString();
                }
                TagString = outdata; return(TagString);
            }

            case Accusoft.ImagXpressSdk.TagTypes.Undefine:
            {
                System.String outdata = "";
                for (int j = 0; j < Tag.TagElementsCount; j++)
                {
                    if (j > 0)
                    {
                        outdata += ", ";
                    }
                    outdata += Tag.GetTagBytes()[j].ToString();
                }
                TagString = outdata; return(TagString);
            }
            }
            return("");
        }