Сделай сам
hardsign — 05.04.2024Компания Audi внезапно перестала публиковать календари на рабочий стол, которые публиковала ежемесячно аж с 2004 года. Кризис это или обыкновенное раздолбайство — кто его знает. Но всё равно обидно.
К календарю я уже привык, так что если немцы не хотят работать, придётся заняться импортозамещением. Пока только в одном разрешении — FullHD 1920×1080 и с картинками из интернета, что будет дальше — посмотрим (по клику откроется полноразмерное изображение):
Естественно, написано это всё не вручную. Python я пока не освоил на должном уровне, только bash. Желающих ознакомиться с кодом прошу под кат.
#!/bin/bash YEAR=$1 MONTH=0$2 MONTH=${MONTH:(-2)} BGCOLOR=#F2F2F2 FONT="Cuprum" DNSIZE=32 DWSIZE=16 WCOLOR=#445469 HCOLOR=#A00000 MONTH_NAME=$(date -d "${YEAR}-${MONTH}-01" "+%OB") x=330 cc=${WCOLOR} for d in $(seq $(date -d "$(date -d "${YEAR}-${MONTH}-01 next month" "+%Y-%m-%d") -1 day" "+%d")) do dw=$(date -d "${YEAR}-${MONTH}-${d}" "+%u") dn=$(date -d "${YEAR}-${MONTH}-${d}" "+%d") dd=$(date -d "${YEAR}-${MONTH}-${d}" "+%a") if [[ ${dw} -eq 6 ]] || [[ ${dw} -eq 7 ]]; then c=${HCOLOR}; else c=${WCOLOR}; fi if [[ ${cc} != ${c} ]]; then s=$s" -fill $c"; cc=${c}; fi s=$s" -pointsize ${DNSIZE} -annotate +${x}+80 ${dn} -pointsize ${DWSIZE} -annotate +$((x))+45 ${dd}" x=$((x+50)) done convert \( -size 1920x108 xc:${BGCOLOR} -font ${FONT} -pointsize ${DNSIZE} -fill ${WCOLOR} \ -annotate +90+80 "${MONTH_NAME} ${YEAR}" ${s} \) \ \( ${3} -strip -crop 1920x972+0+108 \) -append "${YEAR}-${MONTH} 1920x1080.jpg"
|
</> |