Как выполнить команду "tile:" с im4java? - PullRequest
0 голосов
/ 22 октября 2019

Я пытаюсь использовать im4java для создания образца изображения с текстом на изображении с рисунком. Мой код:

    ConvertCmd convertCmd = new ConvertCmd();

    IMOperation imOperation = new IMOperation();
    imOperation.size(564, 564);
    imOperation.tile(patternImg);
    imOperation.background("none");
    imOperation.stroke("black");
    imOperation.strokewidth(2);
    imOperation.fill("white");
    imOperation.gravity("center");
    imOperation.pointsize(40);
    imOperation.border(3, 3);
    imOperation.label(generateImageRequestDTO.getMainText());
    imOperation.composite();
    imOperation.addImage(absolutePathWorkDir + "/" + "test.jpg");
    convertCmd.run(imOperation);

, который генерирует такой скрипт:

convert \
   -size "564x564" -tile "/var/images/patterns/1.jpg" \
  -background "none"-stroke "black" -strokewidth "2" -fill "white" \
  -gravity "center"-pointsize "40" -border "3x3" -label "This is some text" \
  -composite "/var/images/workdir/test.jpg"

Это почти то, что мне нужно. Это код, который я пытаюсь сгенерировать:

convert \
   -size "564x564" tile:"/var/images/patterns/1.jpg" \
  -background "none"-stroke "black" -strokewidth "2" -fill "white" \
  -gravity "center"-pointsize "40" -border "3x3" label:"This is some text" \
  -composite "/var/images/workdir/test.jpg"

В основном

  • -tile ==> плитка:
  • -label ==> ярлык:

что мне здесь не хватает?

1 Ответ

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

Большое спасибо @emcconville! Это работает!

Попробуйте добавить префикс tile: & label: в метод imOperation.addImage. Например, imOperation.addImage ("tile:" + patternImg);- emcconville

...