aboutsummaryrefslogtreecommitdiffhomepage
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rw-r--r--bin/image/shellrc46
1 files changed, 46 insertions, 0 deletions
diff --git a/bin/image/shellrc b/bin/image/shellrc
new file mode 100644
index 0000000..e27b485
--- /dev/null
+++ b/bin/image/shellrc
@@ -0,0 +1,46 @@
1# Image Utilities
2
3# Concatenate image vertically
4image.vertical() {
5 suffix=${1##*.}
6 convert "$@" -append $(basename -s .$suffix $1)-$(basename -s .$suffix ${@: -1}).${format:-$suffix}
7}
8
9# Concatenate image horizontally
10image.horizontal() {
11 ext=${1##*.}
12 convert "$@" +append output.$ext
13}
14
15# Export image with data url format
16image.from_data_url() {
17 [ -z "$1" ] && echo File name needed && return 1
18 xsel -ob | sed -E 's/^.+,//' | base64 -d >$1
19 identify $1
20}
21
22# Upload image to vps
23# Usage:
24# image.upload foo.png
25image.upload() {
26 local month=$(date +%Y-%m)
27 local filename=${2:-$(date +"%d_%Hh%Mm%Ss").${1##*.}}
28 local fpath='$HOME/data/s3.photos/'$month
29 cat $1 | ssh vps "mkdir -p $fpath && cat >$fpath/$filename" && \
30 echo https://topo.tw/photos/$month/$filename || \
31 echo Fail to upload
32}
33
34# Create an image contains text
35image.text() {
36 convert \
37 -size 230x130 \
38 -background lightblue \
39 -font Noto-Sans-Bold \
40 -pointsize 25 \
41 -fill black \
42 -gravity Center \
43 caption:"${1:=foo}" \
44 -flatten \
45 "${2:=foo}".jpg
46}