Как выровнять водяной знак в верхнем правом углу с помощью плагина водяного знака Image Resizer? - PullRequest
0 голосов
/ 29 октября 2019

Я использую плагин водяного знака Image Resizer (https://imageresizing.net/docs/v4/plugins/watermark), чтобы добавить логотип ко всем изображениям на сайте. Но добавленный логотип всегда находится в центре. Я хочу добавить его в любое место на изображении. Обратите внимание, что я не настраиваю изображение водяного знака (логотип) в файле конфигурации, как следует из документации.

Подскажите, пожалуйста, каким должен быть параметр запроса ResizeSettings для выравнивания логотипа сверху / снизу? код, который я пробовал, но не работал:

 ImageLayer i = new ImageLayer(c);      
 i.Path = "Logo Path";
 wp.NamedWatermarks["img"] = new Layer[] { i };
 byte[] buffer = File.ReadAllBytes("Orignal Image");
 Stream sourceStream = new MemoryStream(buffer);
 Stream destinationStream = new MemoryStream();
 ImageBuilder.Current.Build(sourceStream, destinationStream, new ResizeSettings("watermark=img;align=BottomLeft"));
 Image img = System.Drawing.Image.FromStream(destinationStream);
 img.Save("Path");

Спасибо.

1 Ответ

0 голосов
/ 30 октября 2019

Привет К счастью, я получил ответ сам. Я обнаружил, что класс ImageLayer имеет свойства Left / Top / Bottom / Right и ожидает параметр типа DistanceUnit class.

Итак, вот что я сделал:

Перед тем, как делатьэто wp.NamedWatermarks["img"] = new Layer[] { i }; регистрирует дистанционное устройство.

  DistanceUnit distanceUnit = new DistanceUnit(35, DistanceUnit.Units.Percentage);
  i.Left = distanceUnit;
  i.Top = distanceUnit;

Это работает как шарм.

...