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); } }
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(""); }