Exemple #1
0
        /// <summary>
        /// Method to get a picture path.
        /// </summary>
        public static async Task <Image> CreateAlbumImage(string sourceFilename, EnumPictureType imgType, int albumId)
        {
            string destFileName = await GetAbsolutePathAlbumImageAsync(albumId, imgType, Path.GetExtension(sourceFilename));

            File.Copy(sourceFilename, destFileName, true);

            if (imgType == EnumPictureType.Preview)
            {
                return(Image.FromFile(destFileName));
            }

            if (imgType == EnumPictureType.Thumbnail)
            {
                Image img;
                using (Image src = Image.FromFile(destFileName))
                {
                    using (Image imgResized = src.ResizeRatio(SizeThumnail.Width))
                    {
                        img = imgResized.Crop(SizeThumnail.Width, SizeThumnail.Height);
                    }
                }
                img.Save(destFileName);

                return(img);
            }

            return(null);
        }
Exemple #2
0
        /// <summary>
        /// Method to get a path to an album.
        /// </summary>
        /// <param name="albumId">The primary key of the album.</param>
        /// <param name="imgType"></param>
        /// <param name="fileExt"></param>
        /// <returns>The path to the album directory.</returns>
        public static string GetRelativePathAlbumImage(int albumId, EnumPictureType imgType, string fileExt)
        {
            // Format Album path by Primary Key
            int    root = (int)Math.Floor((double)(albumId / 1024));
            string path = Path.Combine(root.ToString().PadLeft(4, '0'), albumId.ToString().PadLeft(4, '0'));

            if (imgType == EnumPictureType.Background || imgType == EnumPictureType.Preview)
            {
                return(Path.Combine(path, "fanart" + fileExt));
            }

            if (imgType == EnumPictureType.Thumbnail)
            {
                return(Path.Combine(path, "cover" + fileExt));
            }

            return("");
        }
Exemple #3
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="type"></param>
    /// <returns></returns>
    public static string ToString(this EnumPictureType type)
    {
        switch (type)
        {
        case EnumPictureType.Original:
            return("Original");

        case EnumPictureType.Thumbnail:
            return("Thumbnail");

        case EnumPictureType.Preview:
            return("Preview");

        case EnumPictureType.Background:
            return("Background");
        }

        return(null);
    }
Exemple #4
0
 /// <summary>
 /// Method to get a path to an album.
 /// </summary>
 /// <param name="albumId">The primary key of the album.</param>
 /// <param name="imgType"></param>
 /// <param name="fileExt"></param>
 /// <returns>The path to the album directory.</returns>
 public static async Task <string> GetAbsolutePathAlbumImageAsync(int albumId, EnumPictureType imgType, string fileExt)
 {
     return(Path.Combine(await GetAlbumsDirectoryAsync(), GetRelativePathAlbumImage(albumId, imgType, fileExt)));
 }
Exemple #5
0
 /// <summary>
 /// Method to get a path to an album.
 /// </summary>
 /// <param name="albumId">The primary key of the album.</param>
 /// <param name="imgType"></param>
 /// <param name="fileExt"></param>
 /// <returns>The path to the album directory.</returns>
 public static string GetAlbumImageAbsolutePath(int albumId, EnumPictureType imgType, string fileExt)
 {
     return(Path.Combine(GetAlbumsDirectory(), GetRelativePathAlbumImage(albumId, imgType, fileExt)));
 }