【问题标题】:How do I Use the `montage` functionality from within Magick.net如何使用 Magick.net 中的“蒙太奇”功能
【发布时间】:2016-10-21 20:55:33
【问题描述】:

我是 Magick.net 的新手,但我正在尝试制作文件生成器。我已经让它在 Linux 命令行中正常工作(虽然没有我喜欢的大小),但我需要制作一个 .net 应用程序供无法访问 Linux 或网络的其他人使用(所以使用 PHP没有问题,至少现在还没有)。

做类似的事情:

montage -background none -fill black -font Helvetica-Condensed-Light -pointsize 26 label:'Foobar Controller 3.1.4.0 Installer' +set label -shadow -geometry +5+5 test_v3.png

但不确定如何在 C# .net 包装器中使用 montage

using (MagickImage image = new MagickImage(new MagickColor("#000000"), 419, 39))
            {
               new Drawables()
              // Draw text on the image

但我对如何做到这一点感到很困惑。

非常感谢任何建议。该文档似乎令人困惑,因为我没有做一些“标准”的事情,因为输出将在图像面板中预览,并带有保存到文件系统的选项。

【问题讨论】:

    标签: c# imagemagick.net


    【解决方案1】:

    以下是您需要如何从蒙太奇转换命令的示例。

    using (var images = new MagickImageCollection())
    {
      var readSettings = new MagickReadSettings()
      {
        BackgroundColor = MagickColors.None, // -background none
        FillColor = MagickColors.Black, // -fill black
        Font = "Helvetica-Condensed-Light", // -font Helvetica-Condensed-Light
        FontPointsize = 26 // -pointsize 26
      };
    
      // label:'Foobar Controller 3.1.4.0 Installer'
      var image = new MagickImage("label:Foobar Controller 3.1.4.0 Installer", readSettings);
      image.RemoveAttribute("label"); // +set label
      images.Add(image);
    
      var montageSettings = new MontageSettings()
      {
        BackgroundColor = MagickColors.None, // -background none
        Shadow = true, // -shadow
        Geometry = new MagickGeometry(5, 5, 0, 0) // -geometry +5+5
      };
    
      using (MagickImage result = images.Montage(montageSettings))
      {
        result.Write("test_v3.png");
      }
    }
    

    但是因为你只使用了蒙太奇的影子部分,你也可以像这样执行你的代码:

    var readSettings = new MagickReadSettings()
    {
       BackgroundColor = MagickColors.None,
       FillColor = MagickColors.Black,
       Font = "Helvetica-Condensed-Light",
       FontPointsize = 26
    };
    
    var label = new MagickImage("label:Foobar Controller 3.1.4.0 Installer", readSettings);
    using (MagickImage shadow = label.Clone())
    {
       // This is what is happening under the hood.
      shadow.Shadow(5, 5, 2.0, new Percentage(80), MagickColors.Black);
      shadow.Composite(label, CompositeOperator.Over);
      shadow.Write("test_v3.png");
    }
    

    【讨论】:

    • 嗨,我有点困惑将 magick montage C:\thumb*.jpg 160x90 -geometry +0+0 overview.jpg 转换为 .net plz 指南
    猜你喜欢
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    相关资源
    最近更新 更多