Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Generate image with caption using Magick.NET

I am trying to generate an image file of a caption for scaling. Using the command prompt I have been able to achieve this goal:

convert -background lightblue -fill black -font Arial -size 530x175  caption:"This is a test." caption_long_en.png

I am now trying to do the same using Magick.NET

class ImageResizer
{
    public Image ResizeImage()
    {
        MagickImage image = new MagickImage();
        image.BackgroundColor = new MagickColor(Color.lightblue);
        .....
    }

But am admittedly having some trouble: After initializing my image I don't see options to define the fill, font, size and caption that I wish to use to generate my image.

Could anybody point me in the right direction for how to accomplish the command line above using Magick.NET?

like image 370
markdozer Avatar asked Apr 10 '26 08:04

markdozer


1 Answers

The options that are specified before the image is read (caption:"This is a test") need to be specified with the MagickReadSettings class. Below is an example of how you can use that class:

using (MagickImage image = new MagickImage())
{
  MagickReadSettings settings = new MagickReadSettings()
  {
    BackgroundColor = MagickColors.LightBlue, // -background lightblue
    FillColor = MagickColors.Black, // -fill black
    Font = "Arial", // -font Arial 
    Width = 530, // -size 530x
    Height = 175 // -size x175
  };

  image.Read("caption:This is a test.", settings); // caption:"This is a test."
  image.Write("caption_long_en.png"); // caption_long_en.png
}
like image 73
dlemstra Avatar answered Apr 12 '26 22:04

dlemstra



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!