GdPicture image identifier.
Must be a value between 1 and the number of tags attached to a GdPicture image.
Example





In This Topic
GdPicture14 Namespace / GdPictureImaging Class / TagGetValueString Method / TagGetValueString(Int32,Int32) Method

TagGetValueString(Int32,Int32) Method

In This Topic
Returns as string, the value of a tag attached to a GdPicture image.
Syntax
'Declaration

 

Public Overloads Function TagGetValueString( _

   ByVal ImageID As Integer, _

   ByVal TagNo As Integer _

) As String
public string TagGetValueString( 

   int ImageID,

   int TagNo

)
public function TagGetValueString( 

    ImageID: Integer;

    TagNo: Integer

): String; 
public function TagGetValueString( 

   ImageID : int,

   TagNo : int

) : String;
public: string* TagGetValueString( 

   int ImageID,

   int TagNo

) 
public:

String^ TagGetValueString( 

   int ImageID,

   int TagNo

) 

Parameters

ImageID
GdPicture image identifier.
TagNo
Must be a value between 1 and the number of tags attached to a GdPicture image.

Return Value

The value of the tag.
Example
Dealing with the tags of a GdPicture image.
Reading the tags from a jpeg image.
using (GdPictureImaging gdpictureImaging = new GdPictureImaging())

{

    int imageID = gdpictureImaging.CreateGdPictureImageFromFile("image.jpg", false);

 

    // Write in a report all the tags available within the file.

    StringBuilder report = new StringBuilder();

    int tagCount = gdpictureImaging.TagCount(imageID);

    for (int tagNo = 1; tagNo <= tagCount; tagNo++)

    {

        Tags tagID = gdpictureImaging.TagGetID(imageID, tagNo);

        string tagName = gdpictureImaging.TagGetName(imageID, tagNo);

        string tagValue = gdpictureImaging.TagGetValueString(imageID, tagNo);

 

        report.AppendLine(tagID.ToString() + " " + tagName.ToString() + " " + tagValue.ToString());

    }

    gdpictureImaging.ReleaseGdPictureImage(imageID);

 

    MessageBox.Show(report.ToString(), "Tags", MessageBoxButtons.OK, MessageBoxIcon.Information);

}
Reading gps coordinates from the tags of a jpeg image.
using (GdPictureImaging gdpictureImaging = new GdPictureImaging())

{

    int imageID = gdpictureImaging.CreateGdPictureImageFromFile("image.jpg", false);

 

    // Walk the list of tags to gather the gps coordinates.

 

    StringBuilder report = new StringBuilder();

    int tagCount = gdpictureImaging.TagCount(imageID);

 

    for (int tagNo = 1; tagNo <= tagCount; tagNo++)

    {

        Tags tag = gdpictureImaging.TagGetID(imageID, tagNo);

        switch (tag)

        {

            case Tags.TagGpsLatitudeRef:

                report.Append("LatitudeRef: ");

                report.AppendLine(gdpictureImaging.TagGetValueString(imageID, tagNo));

                break;

 

            case Tags.TagGpsLongitudeRef:

                report.Append("LongitudeRef: ");

                report.AppendLine(gdpictureImaging.TagGetValueString(imageID, tagNo));

                break;

 

            case Tags.TagGpsLatitude:

            case Tags.TagGpsLongitude:

                StringBuilder coordinate = new StringBuilder();

                if (gdpictureImaging.TagGetType(imageID, tagNo) == TagType.TagTypeRational)

                {

                    // Read the rationals for the coordinate, usually 3 floatting values, 8 bytes per value.

 

                    int dataLength = gdpictureImaging.TagGetLength(imageID, tagNo);

                    byte[] data = new byte[dataLength];

                    gdpictureImaging.TagGetValueBytes(imageID, tagNo, ref data);

 

                    int rationalsCount = dataLength / 8;

                    int readIndex = 0;

                    for (int rationalIndex = 0; rationalIndex < rationalsCount; rationalIndex++)

                    {

                        uint numerator = System.BitConverter.ToUInt32(data, readIndex);

                        uint denominator = System.BitConverter.ToUInt32(data, readIndex + 4);

                        double value = (double)numerator / (double)denominator;

                        coordinate.Append(value.ToString());

                        coordinate.Append(" ");

                        readIndex += 8;

                    }

                }

                else

                {

                    coordinate.Append(gdpictureImaging.TagGetValueString(imageID, tagNo));

                }

 

                report.Append(tag.ToString() + ": ");

                report.AppendLine(coordinate.ToString());

                break;

 

            default:

                break;

        }

    }

 

    gdpictureImaging.ReleaseGdPictureImage(imageID);

    MessageBox.Show(report.ToString(), "Coordinates", MessageBoxButtons.OK, MessageBoxIcon.Information);

}
See Also