public TagPicture(int attribIndex, string mimeType, TagPicture.PICTURE_TYPE pictureType, string description, byte[] data) { this.AttributeIndex = attribIndex; this.MIMEType = mimeType; this.PictureType = pictureType; this.Description = description; this.Data = data; this.PictureStorage = TagPicture.PICTURE_STORAGE.Internal; }
public TagPicture(string file, TagPicture.PICTURE_TYPE type, string description) { UTF8Encoding utf8Encoding = new UTF8Encoding(); this.Data = utf8Encoding.GetBytes(file); this.MIMEType = TagPicture.GetMimeTypeFromFile(file); this.PictureType = type; this.Description = description; this.PictureStorage = TagPicture.PICTURE_STORAGE.External; }
public TagPicture(Image image, TagPicture.PICTURE_TYPE pictureType, string description) { this.PictureType = pictureType; this.Description = description; ImageConverter imageConverter = new ImageConverter(); this.Data = (byte[])imageConverter.ConvertTo(image, typeof(byte[])); this.MIMEType = TagPicture.GetMimeTypeFromImage(image); this.PictureStorage = TagPicture.PICTURE_STORAGE.Internal; }
private TagPicture GetPicture(Tag pTag) { TagPicture picture = null; string mimeType = "Unknown"; TagPicture.PICTURE_TYPE unknown = TagPicture.PICTURE_TYPE.Unknown; string description = ""; MemoryStream input = null; BinaryReader reader = null; if (pTag.Name == "WM/Picture") { try { input = new MemoryStream((byte[])pTag); reader = new BinaryReader(input); mimeType = Marshal.PtrToStringUni(new IntPtr(reader.ReadInt32())); byte num = reader.ReadByte(); try { unknown = (TagPicture.PICTURE_TYPE)num; } catch { unknown = TagPicture.PICTURE_TYPE.Unknown; } description = Marshal.PtrToStringUni(new IntPtr(reader.ReadInt32())); int length = reader.ReadInt32(); byte[] destination = new byte[length]; Marshal.Copy(new IntPtr(reader.ReadInt32()), destination, 0, length); picture = new TagPicture(pTag.Index, mimeType, unknown, description, destination); } catch { } finally { if (reader != null) { reader.Close(); } if (input != null) { input.Close(); } } } return(picture); }
private TagPicture GetPicture(Tag pTag) { TagPicture result = null; string mimeType = "Unknown"; TagPicture.PICTURE_TYPE pictureType = TagPicture.PICTURE_TYPE.Unknown; MemoryStream memoryStream = null; BinaryReader binaryReader = null; if (pTag.Name == "WM/Picture") { try { memoryStream = new MemoryStream((byte[])pTag); binaryReader = new BinaryReader(memoryStream); if (Utils.Is64Bit) { mimeType = Marshal.PtrToStringUni(new IntPtr(binaryReader.ReadInt64())); } else { mimeType = Marshal.PtrToStringUni(new IntPtr(binaryReader.ReadInt32())); } byte b = binaryReader.ReadByte(); try { pictureType = (TagPicture.PICTURE_TYPE)b; } catch { pictureType = TagPicture.PICTURE_TYPE.Unknown; } string description; if (Utils.Is64Bit) { description = Marshal.PtrToStringUni(new IntPtr(binaryReader.ReadInt64())); } else { description = Marshal.PtrToStringUni(new IntPtr(binaryReader.ReadInt32())); } int num = binaryReader.ReadInt32(); byte[] array = new byte[num]; if (Utils.Is64Bit) { Marshal.Copy(new IntPtr(binaryReader.ReadInt64()), array, 0, num); } else { Marshal.Copy(new IntPtr(binaryReader.ReadInt32()), array, 0, num); } result = new TagPicture(pTag.Index, mimeType, pictureType, description, array); } catch { } finally { if (binaryReader != null) { binaryReader.Close(); } if (memoryStream != null) { memoryStream.Close(); memoryStream.Dispose(); } } } return(result); }