Thursday, January 21, 2010

ProcessingとJava Image Filters(pixels)を使用して影付き文字列を描画する

ProcessingとJava Image Filters(pixels)を使用して影付き文字列を描画するには、以下のコードを実行します。Java Image Filtersはhttps://pixels.dev.java.net/servlets/ProjectDocumentListから pixels-core-2.1.3-SNAPSHOT.jarをダウンロードしてSketchのフォルダのcodeサブフォルダに配置するか、 Sketch->Add FilesメニューからSketchに追加します。


// キャンバスサイズ
PImage img = loadImage("SF.JPG");
size(img.width, img.height);
image(img, 0, 0);

// オフスクリーンバッファ
PGraphics gr = createGraphics(200, 200, JAVA2D);
gr.colorMode(RGB, 255, 255, 255, 255);
gr.beginDraw();
// 背景色
gr.background(#000000,0);
// 塗りつぶし色
gr.fill(#ffffff);
// フォントを変換
PFont font = createFont("MS Gothic",48,true);
// フォントを設定
gr.textFont(font);
// 文字
gr.text("さんぷる",5,110);
gr.endDraw();

ShadowFilter sf = new ShadowFilter();
// 半径
sf.setRadius(7f);
// 透明度
sf.setOpacity(0.9f);
// 角度
sf.setAngle(300f/180f*ImageMath.PI);
// 距離
sf.setDistance(5f);
// 影の色
sf.setShadowColor(0xff202020);
// 影のマージン
sf.setAddMargins(false);
// 影のみにするか
sf.setShadowOnly(false);

img.blend(new PImage(sf.filter((BufferedImage)gr.getImage(), null)),
0, 0, img.width, img.height,
0, 0, img.width, img.height, BLEND);
image(img, 0, 0);

// ファイル保存
save("sample1467a.png");


元画像(sf.jpg):dataサブディレクトリに配置か、Add Filesで追加。


出力画像(sample1467a.png)
ProcessingとJava Image Filters(pixels)を使用してドロップシャドウつきの文字列を描画した画像

動作環境
Processing 1.0.7

No comments: