まるで一種の絵画の技法のような画像を作成できるGoで作られた画像エフェクトライブラリ「primitive」の紹介です。

画像エフェクトには、”ぼかしを与えるblur”、”精度を変えるBrightness”、"透明度を調節するOpacity" ... その他にも画像を鉛筆で描いた風に出来るエフェクトも存在します。

そのような多種多様の画像エフェクトですが、コマンド一発で画像をアーティスティックに出来るライブラリが「primitive」です。

primitiveを使うと画像に下記のようなエフェクトを掛けることができます。

* primitive公式ページから

ということで、実際にprimitiveを導入して使ってみました!

primitiveのインストール

primitiveのインストールはコマンドライン上から"go get"コマンドを使ってインストールします。
( primitiveはGO言語で作られているので、事前にGOのインストールが必要になります )

# primitiveのインストール
go get -u github.com/fogleman/primitive
# インストールが完了すると'primitive'コマンドが使えるようになります
$ primitive
ERROR: input argument required
ERROR: output argument required
ERROR: number argument required
Usage: primitive [OPTIONS] -i input -o output -n shape_count
  -a int
    	alpha value (default 128)
  -i string
    	input image path
  -m int
    	0=combo 1=triangle 2=rect 3=ellipse 4=circle 5=rotatedrect (default 1)
  -n int
    	number of primitives
  -o string
    	output image path
  -r int
    	resize large input images to this size (default 256)
  -s int
    	output image size (default 1024)
  -v	verbose
  -vv
    	very verbose


primitiveの使い方

primitiveはコマンドライン上で起動するライブラリなので、ターミナル上で使用します。

対応している画像形式は"png","svg","gif"の三種類。
( jpeg形式の読み込みには対応しています )

primitiveコマンドにはオプションが用意されており、基本的に使用するのが、
'-i'オプション(読み込む画像)」、「'-o'オプション(作成された画像名)」、「'-n'オプション (シャープ値 *輪郭強調の調節)」、その3種類です。

# 実際に使用する際のコマンド例
primitive -i input.jpg -o output.png -n 300


そして、primitiveを使って実際にエフェクトを適応した画像が下記になります。

 "-nオプション "の値で画像の出来が大きく変わります

svg形式のアウトプットにも対応しているので、作成した画像を編集ソフトを使って、更に編集することも問題なく可能です。

レイヤー内に1つ1つのパーツがオブジェクトとして認識されているので、細かい編集も出来ます 

* 用意されているオプション一覧

オプション 初期値 説明
-i n/a インプットファイル名
-o n/a アウトプットするファイル名
-n n/a シャープ値 (輪郭の強調)
-m 1 mode: 0=conbo, 1=triangle, 2=rect, 3=ellipse, 4=circle, 5=rotatedrect
-r 256 画像エフェクト前のリサイズ (通常はエフェクトが終わってからサイズ変更がされる仕様のみたいです)
-s 1024 アウトプットする画像のサイズ (*デフォルトでは1024*の画像が作成されます)
-a 128 色のアルファ値
-v off このオプションを使用するとエフェクトを実行している際の進歩状況が表示されます


Summary

以上がprimitiveの紹介でした。

primitiveを使えば、特徴のある画像に仕上げることが簡単に出来そうです。

記事毎に画像を作成する必要があるブロッガーさんなんかにはオススメ出来るライブラリなので、ゼヒ×2チェックしてみてください!

GitHub: fogleman/primitive

 

この記事のカテゴリ

プログラミング

この記事のタグ

Go , ソフトウェア , Webデザイン

Socialシェアボタン

スポンサーリンク