Я ищу способ консолидировать мои командные строки imagemagick и исправить аберрации, чтобы дать мне желаемый эффект - график на фоне из изображения.
Здесь вы можете увидеть файлы изображений здесь - я думаю, что их встраивание в этот каталог может привести к путанице в макете при переполнении стека.
Первое изображение, которое вы видите, это исходный график.
2-е и 3-е изображения - это то, что я бы назвал неудачными, потому что в:
2 Фон обрезается в результате попытки получить фон и размеры графика в
соответствовать правильно.
3, где я не добавил черный фон, видно, что у текста нет фона
4-е изображение - это фон, который я использовал в примерах.
То, к чему я стремлюсь, - это график с фоном, масштабированным, чтобы соответствовать, но не растянутым или сдавленным, чтобы соответствовать. Фоновый файл всегда будет иметь большие размеры, чем график.
Ниже приведен скрипт, который я выбрал, чтобы получить примеры с некоторыми примечаниями, объясняющими, что делает.
По сути, мне нужно масштабировать фоновое изображение до тех пор, пока оно не заполнит размер графика, обрезать лишнее.
Кто-нибудь поможет?
#!/bin/bash
if [ -z "$3" ]
then
echo "usage: $0 background.png foreground.png output.png"
exit 1
fi
orig_size=`identify -format '%wx%h' "$2"`
bg_size=`identify -format '%wx%h' "$1"`
# make a black background size of graph
convert -size $orig_size xc:black ./thisblack.png
# resize background image to size of graph
# this might result in areas with no background
convert -resize $orig_size "$1" "_$1"
# make the graph the background to force size
# by merging the graph and resized background.
# By using the graph as first parameter the size
# is always correct (even though you can't see
# the graph in this image)
convert -composite "$2" "_$1" -depth 8 "_$3"
# overlay graph onto the composite background and graph
# so we can see the graph again
convert -size $orig_size -composite "_$3" "$2" -depth 8 "__$3"
# merge the black and final graph for end image and fill
# areas with no background with black.
convert -composite "thisblack.png" "__$3" -depth 8 "$3"
# Clean up
rm -f "__$3"
rm -f "_$3"
rm -f "_$1"
rm -f thisblack.png