Добавьте белую рамку вокруг изображения в расширении PHP ImageMagick

Вы можете перечислить все измененные функции в редакции, используя фильтры git textconv. Идея заключается в создании конкретного фильтра, в котором перечислены все функции / методы и для всех функций - контрольная сумма тела. Это дает такое отфильтрованное представление textconv:

m() 12
bar() 42

(здесь m() является сигнатурой функции, 12 является контрольной суммой своего тела))

Когда git diff использует этот фильтр для двух версий до и после ревизии:

  • , если добавлена ​​функция, строка добавляется в diff

Пример: foo добавлен

m() 12
+ foo() 24 
bar() 42
  • , если функция изменена, контрольная сумма изменяется, а строка обновляется в diff

. Пример: тело foo is modified

m() 12
- foo() 23 
+ foo() 24 
bar() 42

Как это сделать?

  1. Создать фильтр: java-ls-methods.groovy - это реализация такой фильтр использует Groovy и Spoon
  2. Зарегистрировать этот фильтр в git: git config diff.java-ls-methods.textconv /home/path/to/java-ls-methods.groovy
  3. Связать этот фильтр с файлами Java: echo "*.java diff=java-ls-methods" >> .gitattributes
  4. Сделайте diff: git diff (diff против последнего коммита) или git diff master (diff против другой ветви)
  5. После того, как ваш diff сделан, прокомментируйте строку в .gitattributes, чтобы вернуться назад к нормальному diff

Кредиты: решение, вдохновленное из https: // stack overflow.com/a/16929266

0
задан fmw42 18 January 2019 в 17:25
поделиться

1 ответ

При работе с API в extentImage требуется рассчитать смещение страницы (x, y).

Imagick::extentImage ( int $width , int $height , int $x , int $y ) : bool

Установка гравитации здесь не влияет, и должно быть выдано предупреждение PHP (проверьте журналы).

Попробуйте следующее ...

$im = new Imagick('rose:');
$im->setImageBackgroundColor('GREEN');
$offsetX = 240 - $im->getImageWidth() / 2;
$offsetY = 180 - $im->getImageHeight() / 2;
$im->extentImage( 480, 360, -$offsetX, -$offsetY);
$im->writeImage('output.jpg');

output.jpg

0
ответ дан emcconville 18 January 2019 в 17:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: