public Image GenerateThumbnail(MediaInfo mediaInfo) { ValidateMediaInfo(mediaInfo); EnsureMimeTypeIsSupported(mediaInfo.MimeType); MediaMetadata mediaMetadata = ExtractMetadata(mediaInfo); return(GenerateThumbnail(mediaInfo, mediaMetadata)); }
protected override Image GenerateThumbnail(MediaInfo mediaInfo, MediaMetadata mediaMetadata) { Bitmap bitmap = new Bitmap(@"..\..\IoTInThePalmOfYourHand.png"); Graphics graphics = null; try { var requiredWith = mediaMetadata.Width; var requiredHeight = requiredWith * bitmap.Height / bitmap.Width; var thumbnail = new Bitmap(requiredWith, requiredHeight); graphics = Graphics.FromImage(thumbnail); graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; graphics.DrawImage(bitmap, 0, 0, requiredWith, requiredHeight); return(thumbnail); } finally { graphics?.Dispose(); bitmap.Dispose(); } }
protected abstract Image GenerateThumbnail(MediaInfo mediaInfo, MediaMetadata mediaMetadata);
protected override Image GenerateThumbnail(MediaInfo mediaInfo, MediaMetadata mediaMetadata) { Console.WriteLine("MediaThumbnailerVideo.GenerateThumbnail"); return(CreateImage(480, 270, Color.DarkBlue, Color.WhiteSmoke, "I am a Video Thumbnail")); }
protected override Image GenerateThumbnail(MediaInfo mediaInfo, MediaMetadata mediaMetadata) { Console.WriteLine("MediaThumbnailerAudio.GenerateThumbnail"); return(CreateImage(300, 300, Color.DarkOliveGreen, Color.White, "I am an Audio Thumbnail")); }