コード例 #1
0
//
// Sets specified property in raw form
//
// Property ID
// Raw data
// EXIF data type
// Is recommended to use typed methods (like etc.) instead, when possible.
//
// [altair] 12.6.2004 Created
//
        public void SetProperty(Int32 PID, byte[] Data, ExifDataTypes Type)
        {
            System.Drawing.Imaging.PropertyItem P = this._Image.PropertyItems[0];
            P.Id    = PID;
            P.Value = Data;
            P.Type  = (Int16)Type;
            P.Len   = Data.Length;
            this._Image.SetPropertyItem(P);
        }
コード例 #2
0
        /// <summary>
        /// Sets specified propery in raw form.
        /// </summary>
        public void SetProperty(TagNames pid, byte[] data, ExifDataTypes type)
        {
            var p = CreateInstance <PropertyItem>();

            p.Id    = (int)pid;
            p.Value = data;
            p.Type  = (short)type;
            p.Len   = data.Length;
            _image.SetPropertyItem(p);
        }
コード例 #3
0
 /// <summary>
 /// Sets the property.
 /// </summary>
 /// <param name="propertyId">The property identifier.</param>
 /// <param name="data">The data.</param>
 /// <param name="type">The type.</param>
 protected void SetProperty(ExifProperty propertyId, byte[] data, ExifDataTypes type)
 {
     try
     {
         var property = this._image.PropertyItems[0];
         property.Id    = (int)propertyId;
         property.Value = data;
         property.Type  = (Int16)type;
         property.Len   = data.Length;
         this._image.SetPropertyItem(property);
     }
     catch (Exception ex)
     {
         throw ex.Handle(new { propertyId, type });
     }
 }
コード例 #4
0
        public void ExifTypeUndefined()
        {
            // This image contains an 802 byte EXIF profile
            // It has a tag with an index offset of 18,481,152 bytes (overrunning the data)
            using Image <Rgba32> image = TestFile.Create(TestImages.Jpeg.Progressive.Bad.ExifUndefType).CreateRgba32Image();
            Assert.NotNull(image);

            ExifProfile profile = image.Metadata.ExifProfile;

            Assert.NotNull(profile);

            foreach (ExifValue value in profile.Values)
            {
                if (value.DataType == ExifDataType.Undefined)
                {
                    Assert.True(value.IsArray);
                    Assert.Equal(4U, 4 * ExifDataTypes.GetSize(value.DataType));
                }
            }
        }
コード例 #5
0
 //
 // Sets specified property in raw form
 //
 // Property ID
 // Raw data
 // EXIF data type
 // Is recommended to use typed methods (like etc.) instead, when possible.
 //
 // [altair] 12.6.2004 Created
 //
 public void SetProperty(Int32 PID, byte[] Data, ExifDataTypes Type)
 {
     System.Drawing.Imaging.PropertyItem P = this._Image.PropertyItems[0];
     P.Id = PID;
     P.Value = Data;
     P.Type = (Int16)Type;
     P.Len = Data.Length;
     this._Image.SetPropertyItem(P);
 }