Contents
JPG画像縮小スクリプト(ImageMagick コマンド)
- あるフォルダに入っている拡張子 JPG の画像ファイルを,30% に縮小して,その下のフォルダ thumbs に保存する
- フォルダ thumbs は予め作っておく必要がある
- ImageMagick の convert コマンドを含むシェルスクリプトは,元画像が入っているフォルダに置いて実行する
- スクリプトを実行すると子フォルダ thumbs に per30_xxxx.JPG(xxxx.JPGは元画像のファイル名)という縮小された画像が保存される
Shell script: a_resize.txt
per=per30_
for image in `ls *.JPG`
do
imgn=$per$image
echo $imgn
convert -resize 30%x30% $image thumbs/$imgn
done
JPG表示html作成Pythonプログラム
- あるフォルダに入っている拡張子 JPG の画像ファイルを,html を使ってサムネイル風に表示する
- Python プログラムは,画像と同じフォルダに置く必要がある
- Python プログラムを実行すると maggie.html という html ファイルが作成される
- html を表示すると,元画像が縮小されて横幅 200px で表示される
- 実際にサムネイルを作っているわけではなく,html の機能で縮小表示させているだけである
Python program: py_pic.py
import os
from PIL import Image
filenames = os.listdir('./')
imgl=[]
ww=[]
hh=[]
for fname in sorted(filenames):
path, ext = os.path.splitext( os.path.basename(fname) )
if ext=='.JPG' and path[0:2]!='._':
pic=path+ext
im=Image.open(pic)
w=im.size[0]
h=im.size[1]
print(pic, w, h)
imgl=imgl+[pic]
ww=ww+[w]
hh=hh+[h]
f=open('maggie.html','w')
print('<html>',file=f)
print('<body>',file=f)
print('<table>',file=f)
n=len(imgl)
m=int(n/5)+1
k=-1
for i in range(0,m):
print('<tr>',file=f)
for j in range(0,5):
k=k+1
if k<=n-1:
pic=imgl[k]
w1=200
h1=int(hh[k]/ww[k]*200)
print('<td align="center"><img src="'+pic+'" alt="pic" width="'+str(w1)+'", height="'+str(h1)+'"><br><a href="'+pic+'">I'+pic+'<a></td>',file=f)
else:
print('<td></td>',file=f)
print('</tr>',file=f)
print('</table>',file=f)
print('</body>',file=f)
print('</html>',file=f)
f.close()
MathJax読み込み変更Pythonプログラム
- 数式表示に用いているMathJaxの読み込み先を,Mac内フォルダから外部のcdn.mathjax.orgに切り替える,あるいはその逆を行う
- コマンドライン引数で,ゼロ(0)を指定すると外部読み込み,1を指定するとMac内読み込みに切り替わる
- 機能は,Pythonのreplaceを用いて,読み込み先を書き換えるようにして実現している
Python py_rep.py 0 # 外部読み込み(アップロード用)
Python py_rep.py 1 # Mac内読み込み(html文書作成時,オフライン使用時)
Python program: py_rep.py
import sys
param=sys.argv
iflag=int(param[1])
flist=[]
flist=flist+['sub_e_floodrT.html']
flist=flist+['sub_e_headloss.html']
flist=flist+['sub_j_flowchart.html']
flist=flist+['sub_j_latex_test.html']
for fnameR in flist:
f=open(fnameR)
src=f.read()
f.close()
if iflag==0:
str1='<script src="/Users/kk/mathjax/MathJax.js?config=TeX-AMS_HTML">'
str2='<script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">'
else:
str1='<script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">'
str2='<script src="/Users/kk/mathjax/MathJax.js?config=TeX-AMS_HTML">'
text=src.replace(str1,str2)
fnameW=fnameR
f=open(fnameW,'w')
f.write(text)
f.close()