Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Caption : ImageUtility
- {
- private const string PangoCaptionFormat = "pango:<span font_family=\"Roboto Condensed\" weight=\"bold\">{0}</span>";
- private readonly IMagickImageCollection<byte> _image;
- public Caption(byte[] bImage)
- {
- _image = new MagickImageCollection(bImage);
- }
- public byte[] Top(string caption)
- {
- var captionWidth = _image.First().Width;
- var captionSettings = new MagickReadSettings
- {
- TextGravity = Gravity.Center,
- BackgroundColor = MagickColors.White,
- Width = captionWidth,
- FontPointsize = captionWidth / 13.0
- };
- using (
- var captionImage = new MagickImage(
- string.Format(PangoCaptionFormat, caption),
- captionSettings
- )
- )
- {
- captionImage.Extent(
- new MagickGeometry(
- new Percentage(100),
- new Percentage(110)
- ),
- Gravity.Center
- );
- captionImage.RePage();
- for (var i = 0; i < _image.Count; i++)
- {
- var captionedFrameImages = new MagickImageCollection();
- captionImage.Format = _image[i].Format;
- captionedFrameImages.Add(captionImage);
- captionedFrameImages.Add(_image[i]);
- _image[i] = captionedFrameImages.AppendVertically();
- }
- }
- return _image.ToByteArray();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment