分页: 1 / 2

ImageMagick 实现的手撕纸张效果

发表于 : 2011-09-22 18:47
lilydjwg
[bash]
#!/bin/bash

if [ $# -ne 2 ]; then
echo "Usage: $0 ORIGINAL_IMAGE NEW_IMAGE" >&2
exit 1
fi

src=$1
dst=$2

convert "$src" \( +clone -threshold -1 -virtual-pixel black -spread 10 -blur 0x3 -threshold 50% -spread 1 -blur 0x.7 \) +matte -compose Copy_Opacity -composite "$dst"
convert "$dst" \( +clone -background black -shadow 80x3+5+5 \) +swap -background none -mosaic +repage "$dst"
[/bash]
盗用 shutter 插件的, :em05

Re: ImageMagick 实现的手撕纸张效果

发表于 : 2011-09-22 19:21
yjcong
3.png
3.png (24.54 KiB) 查看 1226 次
up

Re: ImageMagick 实现的手撕纸张效果

发表于 : 2011-09-22 19:31
tenzu
神没来? :em04

Re: ImageMagick 实现的手撕纸张效果

发表于 : 2011-09-22 20:03
yjcong
tenzu 写了:神没来? :em04
66.jpg
66.jpg (12.03 KiB) 查看 1209 次
NN的, 估计要该参数. 有时间再弄吧

Re: ImageMagick 实现的手撕纸张效果

发表于 : 2011-09-22 20:12
lilydjwg
yjcong 写了:
tenzu 写了:神没来? :em04
66.jpg
NN的, 估计要该参数. 有时间再弄吧
谁让你用 jpg 了,不知道 jpg 不支持透明啊。。。 :em04

Re: ImageMagick 实现的手撕纸张效果

发表于 : 2011-09-22 20:17
lilydjwg
yjcong 写了:图片up
来张大图好了:
firefox2.png
firefox2.png (178.67 KiB) 查看 1197 次

Re: ImageMagick 实现的手撕纸张效果

发表于 : 2011-09-22 21:12
eexpress
继续撕。

Re: ImageMagick 实现的手撕纸张效果

发表于 : 2011-09-22 21:14
nmsfan
原来jpg不行啊

Re: ImageMagick 实现的手撕纸张效果

发表于 : 2011-09-22 21:21
naturalaw
eexpress 写了:继续撕。
:em70
透明区.似乎有个什么alpha通道.
要24+8=32才支持的.?
求解

Re: ImageMagick 实现的手撕纸张效果

发表于 : 2011-09-22 21:25
naturalaw
改造一下.弄成截图撕纸.

Re: ImageMagick 实现的手撕纸张效果

发表于 : 2011-09-22 21:29
monk
判断是否png,不是的话转换后再撕

Re: ImageMagick 实现的手撕纸张效果

发表于 : 2011-09-22 21:52
naturalaw
抄了ee的一些代码. :em06

[bash]#!/bin/bash
greenB='\x1b[1;32m'; end='\x1b[0m'; redB='\x1b[1;31m'; blueB='\x1b[1;34m'
TIME=$(date '+%Y-%m-%d-%H-%M-%S')
EXT=png
SCRDIR=${HOME}/Desktop/
if [ ! -d "${SCRDIR}" ]; then
mkdir -p "${SCRDIR}"
fi
echo -e "${redB}Select a window or rectangle with the mouse${end}"
scrot -d 3 -s ${SCRDIR}${TIME}.${EXT}
~/bin/si.sh ${SCRDIR}${TIME}.${EXT} ${SCRDIR}${TIME}.${EXT}.1
mv ${SCRDIR}${TIME}.${EXT}.1 ${SCRDIR}${TIME}.${EXT}
echo ${SCRDIR}${TIME}.${EXT}
feh ${SCRDIR}${TIME}.${EXT}
[/bash]
我把lz的代码保存为si.sh了.
~/bin/si.sh

Re: ImageMagick 实现的手撕纸张效果

发表于 : 2011-09-22 21:56
yjcong
有没有斜着撕的, 比如撕成2个三角形?
------------------------------
撕2次效果
ff.png
ff.png (183.84 KiB) 查看 1164 次
--------------------
撕3次效果
fff.png
fff.png (184.84 KiB) 查看 1165 次

Re: ImageMagick 实现的手撕纸张效果

发表于 : 2011-09-22 22:29
lilydjwg
monk 写了:判断是否png,不是的话转换后再撕
这个和源图片没关系。其实可以判断目标文件,如果是 jpg 之类不支持透明的,就撕完再把透明部分用白色填充。

Re: ImageMagick 实现的手撕纸张效果

发表于 : 2011-09-23 10:17
yjcong
从你的链接里, 去了你的网页, 然后读了你的文章. 给你贴一段我的笔记

xte用法(xautomation包)

xte 'mousemove 150 150' 'mousedown 1' 'mouseup 1' 'sleep 1' 'mousemove 571 220' 'mousedown 1' 'mouseup 1' 'key t'