MagicImage是一個Java函式庫,可以用來存取不同格式的圖片,也可以快速進行圖片的相關操作,包括圖片剪裁、縮放、銳利化、模糊化、色彩轉換、壓縮與交錯化圖片。

MagicImage的org.magiclen.magicimage套件下有許多不同的類別,分別有著不同的用途:

  • ImageBlurring:對圖片進行模糊化處理。
  • ImageBuffer:對檔案或是圖片進行緩衝處理。
  • ImageColor:對圖片的顏色進行處理。
  • ImageExport:可輸出圖片至檔案中。
  • ImageMetadata:可從圖片檔案中取得圖片的基本資料以及標籤資料。
  • ImageResize:對圖片進行剪裁或是縮放處理。
  • ImageSharpen:對圖片進行銳利化處理。
  • ImageInterlacer:對圖片進行交錯化處理。

取得MagicImage

https://github.com/magiclen/MagicImage

使用MagicImage

以下例子都用「MagicCat.jpg」這張3776x2520的圖片來舉例,可用以下連結下載原圖:

https://file.magiclen.org/index.php?file=4d616769634361742e726172

讀取圖片檔案中的基本標籤資料

結果如下:

讀取圖片檔案

複製圖片

輸出圖片

結果如下圖:

magicimage

剪裁圖片

結果如下圖:

magicimage

銳化圖片

結果如下圖:

magicimage

模糊化圖片

一般模糊化結果如下圖:

magicimage

高斯模糊化結果如下圖:

magicimage

放大圖片

結果如下圖:

magicimage

縮小圖片

結果如下圖:

magicimage

灰階化圖片

結果如下圖:

magicimage

二值化圖片

結果如下圖:

magicimage

負片化圖片

結果如下圖:

magicimage

交錯化圖片

為了使圖片在網頁中可以讓訪客擁有良好的瀏覽體驗,可以使用交錯的排列方式來儲存圖片。如此一來圖片在瀏覽器中讀取的時候,圖片顯示方式會由模糊到清晰,而不是從上到下循序讀取。注意,這個功能需要「ImageMagick」執行檔「magick」的支持。