private static void AddThumbnails(Device device, Photo photo, Gdk.Pixbuf pixbuf) { foreach (ArtworkFormat format in device.LookupArtworkFormats (ArtworkUsage.Photo)) { byte[] bytes; short padX, padY; bytes = ArtworkHelpers.ToBytes (format, pixbuf, out padX, out padY); Thumbnail thumbnail = photo.CreateThumbnail (); thumbnail.Format = format; thumbnail.Width = (short) pixbuf.Width; thumbnail.Height = (short) pixbuf.Height; thumbnail.HorizontalPadding = padX; thumbnail.VerticalPadding = padY; thumbnail.SetData (bytes); } }
private Thumbnail GetThumbnail(ArtworkFormat format, bool createNew) { FindCoverPhoto(); if (coverPhoto == null) { if (!createNew) { return(null); } if (db.ArtworkDatabase != null) { coverPhoto = db.ArtworkDatabase.CreatePhoto(); coverPhoto.Record.TrackId = record.DatabaseId; record.RightSideArtworkId = coverPhoto.Id; } } if (coverPhoto == null) { return(null); } Thumbnail thumbnail = coverPhoto.LookupThumbnail(format); if (thumbnail == null && createNew) { thumbnail = coverPhoto.CreateThumbnail(); thumbnail.Format = format; thumbnail.Width = format.Width; thumbnail.Height = format.Height; } return(thumbnail); }