Преобразование изображения с необычным соотношением сторон без растягивания изображения

Давайте добавим еще код отладки.

all: $TARGETS
define f2
$$(info f2 called on $(1))
.PHONY: target$(1)
target$(1):
    echo "We are in $(1)"
TARGETS+=target$(1)
endef

define f1
VAR$(1)=ValueWith$(1)
$(info too early: VAR$(1) is $$(VAR$(1)))
$$(info right time: VAR$(1) is $$(VAR$(1)))
$(eval $(call f2,$(VAR$(1))))
endef

$(eval $(call f1,CallOne))
$(eval $(call f1,CallTwo))

$(warning Warning: $(TARGETS))

Вывод:

too early: VARCallOne is $(VARCallOne)
f2 called on 
right time: VARCallOne is ValueWithCallOne
too early: VARCallTwo is $(VARCallTwo)
f2 called on 
debug.mk:18: warning: overriding commands for target `target'
debug.mk:17: warning: ignoring old commands for target `target'
right time: VARCallTwo is ValueWithCallTwo
debug.mk:20: Warning: target target
make: *** No rule to make target `ARGETS', needed by `all'.  Stop.

Проблема в том, что вызов eval выполняется до определения VAR… , в то время как функция f1 раскрывается , а не во время обработки результата этого расширения. Вам нужно отложить выполнение eval .

Также есть опечатка в строке 1; если вы исправите это, вы обнаружите, что цель all ничего не строит, поскольку TARGETS не определен во время его использования. Позже вам нужно будет объявить зависимости.

all:  # default target, declare it first

define f2
.PHONY: target$(1)
target$(1):
        echo "We are in $(1)"
TARGETS+=target$(1)
endef

define f1
VAR$(1)=ValueWith$(1)
$$(eval $$(call f2,$$(VAR$(1))))
endef

$(eval $(call f1,CallOne))
$(eval $(call f1,CallTwo))

$(warning Warning: $(TARGETS))
all: $(TARGETS)
2
28.05.2018, 11:02
1 ответ

Por supuesto, puede hacerlo con imagemagickque puede instalar a través de macports o brew .

En OS X también puede hacerlo a través de la aplicación Vista previa .

  1. Mostrar barra de herramientas de marcado en Vista previa aplicación:

enter image description here

  1. Elija Cambiar el tamaño de la imagen de la barra de herramientas abierta:

enter image description here

  1. Establecer el tamaño necesario:

enter image description here

El tamaño de mi captura de pantalla se tomó deCalculadora de relación de aspecto(No estoy seguro de que sea útil para usted, pero es un buen punto de partida para ajustar el procedimiento de imagen según sus necesidades):

enter image description here

1
27.01.2020, 22:18

Теги

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