分类 我的应用 下的文章

Automatic Photo Border Creator

Tag:自己编写的在照片上输出exif信息并加水印的脚本的使用介绍,本文原始链接:Automatic Photo Border Creator

此脚本系realasking所写,本文为其原创之介绍,如有转载,请注明出处及作者。
——by realasking

脚本下载地址:

$git clone https://github.com/realasking/realasking.APBC.git

安装:

linux下:

$cd realasking.APBC 
$chmod +x *.sh
$cp *.sh ~/bin 

如果~/bin不在PATH之中,还需要执行以下命令并注销重登录:

$echo "export PATH=${PATH}:${HOME}/bin">>~/.bashrc

Windows下:

先安装cygwin和相关包,然后再如linux下的做法,在cygwin中进行安装。

cygwin和依赖包的安装办法是:

1.先下载cygwin installer,然后以管理员权限运行它

2.选择install from internet

3.Root Directory选择C:\cygwin

4.选择一个本地暂存cygwin包的文件夹

5.选择Use Internet Explorer Proxy Settings

6.去掉默认选中的所有地址,添加清华的镜像地址:

a.如果是教育网用户,且开通了ipv6,请添加如下地址:

http://mirror.6.tuna.tsinghua.edu.cn/cygwin/

b.如果是公网用户,请添加以下地址:

http://mirror.tuna.tsinghua.edu.cn/cygwin/

7.选择如下软件包:

bash imagemagick bc tar bsdtar gawk grep exif及其相关包 perl及其相关包

8.开始下载和安装

9.用google搜索下载exiv2-0.23.tar.gzImage-ExifTool-9.32.tar.gz,下载到:

C:\cygwin\home\你的用户名

并解压

10.点击cygwin的快捷方式,启动cygwin,再依次执行以下命令:

#cd exiv2
#./configure --prefix=/usr
#make &&make install
#cd ../Image-ExifTool-9.32
#perl Makefile.PL
#make && make install

11.安装脚本

配置说明:

编辑相机类型

打开photo_exif.shphoto_exif_DSLR.sh文件,将类似于下面的内容中的相机型号换成你所使用的即可

Machine="Panasonic DMC-ZS8" 

选择水印字体

将上述文件中下述行中字体文件名换成你所想要的字体文件名

WFONT="/usr/local/share/fonts/u/urw_chancery_l_medium_italic.ttf" 

选择边框字体

将上述文件中下述行中字体名换成你所想要的字体名

FONT="文泉驿点阵正黑" 

调整水印字体大小

修改fact_watermark_font_width变量即可

调整边框上打印用户名的位置

修改fact_author_place变量即可

使用方法:

自动添加水印、边框并在边框上打印照片exif信息

$photo_exif.sh 照片名 新宽度 作者 输出文件夹

如果是DSLR或EVIL相机,请使用photo_exif_DSLR.sh命令

自动缩放/裁剪图片到适合冲印尺寸,并加上水印、边框和exif信息

$photo_pre_for_print.sh 照片名 作者 照片类型 输出文件夹 机器类型

其中照片类型可以为3R, 3D, 4R, 4D, 5R, 6R, 8R, 1366等,机器类型可以写DCDSLR

效果如下:

图片一

图片二

此脚本仅限个人使用,本人不对其承担任何责任,也不提供任何支持,不过欢迎大家提出修改意见,可以发邮件到我的邮箱与我交流。

做了个小工具essential-pathway

个人作品说明,如有转载,请注明作者和出处。

——by realasking

工具下载地址:

github pypi

以前就一直觉得在命令行下切换各个目录很头疼,而且总是忘记哪些目录在用,所以后来就自己写了好几个shell脚本来管理在使用的目录,并提醒自己其中的内容。最近几天,突然萌生了把它们整理一下、打成一个包的念头,不过没有想到的是,做着做着突然觉得还不如干脆用python来整个重写一遍,结果最后就做出了这么个东西。

这个小工具是用python3.6开发的,以LGPLv3发布,兼容性并未进行多少测试,目前只在64位archlinux上使用着。它用python调用sqlite3来管理常用路径,并生成包含数据内记录路径的modulefile供Tcl版的environment module来读取,以生成新的环境变量供用户调用,而在列表显示内部的路径时,需要调用python的prettytable库,所以该工具在安装前,需要先安装配置module和prettytable。

prettytable直接用pip install prettytable即可安装。

module在archlinux上用yaourt -S env-modules-tcl安装,在安装完成后,需要在$HOME下建立文件.modulespath,其内容为存放modulefile的目录位置,然后还需要在.bashrc中添加如下两行:
export MODULEPATH=${HOME}/env/module_files:$MODULEPATH
source /etc/modules-tcl/init/bash
下次登录bash即可启用module了。

本工具所生成的modulefile叫epath,要启用它,则需要在以上两行之后另起一行,添加以下内容:

module load epath

这一步建议在本工具安装完成并至少运行一次后操作

设置完成后,用pip install essential-pathway安装本工具,然后执行ep,就可以看到各种功能的使用说明了,举个例子,比如要将当前目录加入到pathway中,并将此pathway命名为myhome,执行:

ep a myhome

然后执行:

ep l

显示:

然后执行:

[[email protected] Documents]$cd ~
[[email protected] ~]$module load epath
[[email protected] ~]$cd "$myhome"
[[email protected] Documents]$

可以看到,环境变量myhome就生效了。

同样的,该工具还支持评注(备忘)、删除、刷新、备份、卸载环境变量设置等功能,需要注意的是,每次使用该命令前,请先执行一次module unload epath,否则可能会出现一些问题,在所需操作都执行完之后,需要让所有的pathway都生效,则可以再执行一次module load epath,当然,如果将这一句导入到了.bashrc中,则重新登录shell就可以了。

有兴趣的朋友可以试试,欢迎大家提意见,但限于个人精力和能力,本人不保证此工具的有效性及稳定性,也不一定能及时回复大家的关切,还望大家海涵。