misc/flag-icons: supply three flag decoration flavors
- Add 16px height missing from the initial check-in - Factor out common shell code into simple() function and feed it with specifics; rounded() is special as it does more complicated image transformations
This commit is contained in:
parent
09fbf9cb32
commit
7a62e423dc
@ -19,12 +19,17 @@ NO_ARCH= yes
|
||||
NO_INSTALL= yes
|
||||
|
||||
FLAGS_TOPDIR= ${PREFIX}/share/icons/${PORTNAME}
|
||||
FLAG_SIZES= 24 32 48 64 96 128 192 256 # 512 adds 27MB for .tbz package
|
||||
FLAG_SIZES= 16 24 32 48 64 96 128 192 256 # 512 adds 25+ MB for .tbz package
|
||||
|
||||
FLAVORS= plain bordered rounded
|
||||
|
||||
.if ${FLAVOR:U:Nplain}
|
||||
PKGNAMESUFFIX= -${FLAVOR}
|
||||
.endif
|
||||
|
||||
# TODO: add bordered and plain versions maybe?
|
||||
do-build:
|
||||
cd ${BUILD_WRKSRC}/flags && ${SH} ${FILESDIR}/makeflags.sh \
|
||||
rounded_corners ${STAGEDIR}${FLAGS_TOPDIR}/rounded ${FLAG_SIZES}
|
||||
${FLAVOR} ${STAGEDIR}${FLAGS_TOPDIR}/${FLAVOR} ${FLAG_SIZES}
|
||||
|
||||
post-stage:
|
||||
cd ${STAGEDIR}${PREFIX} && ${FIND} share -type f >> ${TMPPLIST}
|
||||
|
||||
@ -1,5 +1,37 @@
|
||||
simple()
|
||||
{
|
||||
local comment convert_extra_args destdir height ratio subdir t0 width
|
||||
|
||||
comment=$1; convert_extra_args=$2; destdir=$3; shift 3
|
||||
|
||||
for subdir in ?x?; do
|
||||
ratio=${subdir%x*}/${subdir#*x}
|
||||
for height; do
|
||||
width=$((height * $ratio))
|
||||
mkdir -p "$destdir/${width}x${height}"
|
||||
echo -n "Generating $comment flags ${width}x${height}... "
|
||||
t0=$(date +%s)
|
||||
for flag in $subdir/*.svg; do
|
||||
convert -resize ${width}x${height} $convert_extra_args \
|
||||
"$flag" "$destdir/${width}x${height}/$(basename "$flag" svg)png"
|
||||
done
|
||||
echo "finished in $(date -ur $((`date +%s`-t0)) +%M:%S)"
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
plain()
|
||||
{
|
||||
simple undecorated -strip "$@"
|
||||
}
|
||||
|
||||
bordered()
|
||||
{
|
||||
simple black-bordered '-shave 1x1 -bordercolor black -border 1 -strip' "$@"
|
||||
}
|
||||
|
||||
# https://joeldare.com/rounding-image-corners-with-imagemagick
|
||||
rounded_corners()
|
||||
rounded()
|
||||
{
|
||||
local destdir height mask radius ratio subdir t0 width
|
||||
|
||||
@ -18,7 +50,7 @@ rounded_corners()
|
||||
|
||||
mkdir -p "$destdir/${width}x${height}"
|
||||
|
||||
echo -n "Generating flags ${width}x${height}... "
|
||||
echo -n "Generating rounded corner flags ${width}x${height}... "
|
||||
t0=$(date +%s)
|
||||
for flag in $subdir/*.svg; do
|
||||
convert -resize ${width}x${height} \
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
A curated collection of all country flags in 4x3 and 1x1 formats
|
||||
converted from SVG to PNG for various sizes, from 24px to 256px.
|
||||
converted from SVG to PNG for various sizes, from 16px to 256px.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user