#c# #imagemagick.net
#c# #imagemagick.net
Вопрос:
Я новичок в 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
Но не уверен, как использовать montage
из оболочки C # .net.
using (MagickImage image = new MagickImage(new MagickColor("#000000"), 419, 39))
{
new Drawables()
// Draw text on the image
Но я довольно смущен тем, как я могу это выполнить.
Я очень ценю любые советы. Документация кажется запутанной, поскольку я не делаю что-то «стандартное», поскольку выходные данные будут предварительно просмотрены на панели изображений с возможностью сохранения в файловой системе.
Ответ №1:
Ниже приведен пример того, как вам нужно было бы перевести команду из montage.
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");
}
}
Но поскольку вы используете только теневую часть Montage, вы также могли бы выполнить свой код следующим образом:
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");
}
Комментарии:
1. Привет, я немного смущен преобразованием magick montage C:thumb *.jpg 160×90 -геометрия 0 0 overview.jpg пожалуйста, ознакомьтесь с руководством по .net