potato.sh - jscancer - Javascript crap (relatively small)
(HTM) git clone git://git.codemadness.org/jscancer
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
potato.sh (1012B)
---
1 #!/bin/sh
2
3 image2html() {
4 w=$(identify -ping -format '%w' "$1" 2>/dev/null)
5 h=$(identify -ping -format '%h' "$1" 2>/dev/null)
6
7 if test "$w" = "" -o "$h" = ""; then
8 echo "no image dimensions found for: $1" >&2
9 return
10 fi
11
12 # get primary color, sortof...
13 bgcolor=$(convert -blur 16x16 -scale 16x16! -dither FloydSteinberg -depth 8 -colors 16 "$1" -format "%c" histogram:info: | \
14 sort -t ':' -r -n | \
15 LC_ALL=C awk -F ' ' '{ print $3; exit }')
16
17 data=$(convert -scale 16x16! -quality 50 -strip "$1" \
18 -define webp:filter-strength=50 \
19 -define webp:lossless=false \
20 -define webp:target-size=100 \
21 "webp:-" | base64 | tr -d '\n')
22
23 echo "<div style=\"display:inline-block;background:${bgcolor} url('data:image/webp;base64,${data}') no-repeat;background-size:cover\">"
24 echo "<img src=\"$1\" width=\"$w\" height=\"$h\" alt=\"\" loading=\"lazy\" decoding=\"async\" />"
25 echo "</div>"
26 }
27
28 if test "$#" -lt 1; then
29 echo "usage: $0 <image> ..." >&2
30 exit 1
31 fi
32
33 for f in "$@"; do
34 image2html "$f"
35 done