ImageMagick.MagickImage.ToBitmapSource C# (CSharp) Method

ToBitmapSource() public method

Converts this instance to a BitmapSource.
public ToBitmapSource ( ) : BitmapSource
return BitmapSource
    public BitmapSource ToBitmapSource()
    {
      string mapping = "RGB";
      MediaPixelFormat format = MediaPixelFormats.Rgb24;
      if (HasAlpha)
      {
        mapping = "BGRA";
        format = MediaPixelFormats.Bgra32;
      }

      if (ColorSpace == ColorSpace.CMYK)
      {
        mapping = "CMYK";
        format = MediaPixelFormats.Cmyk32;
      }

      int step = format.BitsPerPixel / 8;
      int stride = Width * step;

      using (PixelCollection pixels = GetPixels())
      {
        byte[] bytes = pixels.ToByteArray(mapping);
        return BitmapSource.Create(Width, Height, 96, 96, format, null, bytes, stride);
      }
    }
#endif

Usage Example

 private void Drukuj(string text)
 {
     var img = new MagickImage("image.jpg");
     using (var imgText = new MagickImage())
     {
         imgText.FontPointsize = 24;
         imgText.BackgroundColor = new MagickColor(Color.White);
         imgText.FillColor = new MagickColor(Color.Black);
         imgText.AntiAlias = true;
         imgText.FontFamily = "Fake Receipt";
         imgText.Read("label:" + text);
         img.Composite(imgText, Gravity.West);
     }
     image.Source = img.ToBitmapSource();
 }
All Usage Examples Of ImageMagick.MagickImage::ToBitmapSource