2015年3月8日 星期日

在 Linux 下批次轉換 JPEG 圖片尺寸的方法

使用imagemagick 
用yum 來安裝


yum install ImageMagick

用 ImageMagick 內建的 mogrify 指令


ls *tif | xargs -n1 mogrify -format jpg -resize ">1024x1024"
xargs的強大,這裡就不說了。這裡主要涉及mogrify的兩個參數,-fromat和-resize。-format指明格式,這裡是 jpg。-resize就是要修改尺寸,這裡用的是">1024x1024",意思是輸出圖片不能大於1024x1024,這也是一個很方便的用法,這樣,輸出的圖片最長的一邊都不會超過1024,大小都比較統一。如果只是指明 -resize 1024 的話,只能保證橫向寬度為1024,如果是縱向較長的豎圖片,可能就會變成1024x1540之類的尺寸,大小就不統一了。



mogrify -resize 800x600 *.JPG


-resize 1024x1024
是將圖片縮小成不超過 1024x1024 的大小
例如:
2048x1536 會變成 1024*768
3072x4028 會變成 768*1024
4028x4028 會變成 1024*1024

2015年3月5日 星期四

ann公告系統 big5 轉 utf8

1.先使用phpMyAdmin - 2.11.0將資料表anntb與titletb的內容匯出成anntb.sql與titletb.sql,在匯出anntb的時候,記得Use hexadecimal for BLOB選項不要打勾。
2.將已經是utf8的annthx複製成anndoc,記得原先的anndoc先備份。
3.使用phpmyadmin 4.0.9 去匯出新的anndoc的資料表anntb與titletb,檔名為anntb_1.sql與titletb_1.sql,將舊的兩個資料表anntb.sql與titletb.sql的inert....後面的資料複製到新的匯出的資料表anntb_1.sql與titletb_1.sql,除了取代插入資料的部分,其他內容不動。
4.清空新的anndoc的anntb與titletb資料表,然後將已經完成編輯的anntb_1.sql與titletb_1.sql資料匯入資料表。
5.利用convmv來批次變更檔名,指令

convmv 轉換編碼指令

  • convmv -f big5 -t utf-8 -r --notest *
  • -f big5: 從 Big5 編碼轉換 (不過標準應該是要寫 big5-eten, 但是我測試 big5 也可以動. :P)
  • -t utf-8: 轉換編碼到 UTF-8
  • -r: 遞迴的將目錄下的所有檔名都做轉換
  • --notest: 如果不下這個, 一切動作都只是測試, 會直接將轉換前和轉換後的檔名列給你看, 這加下去, 才會實際轉換檔名.
  • *: 所有檔案
ann公告系統的檔案都存在目錄下的files資料夾,所以要將big5轉成utf8才能讓新的utf8的系統抓到檔名。


機器上線



內容給自己做一點紀錄