Tuesday, November 20, 2018

Processing3.4とJava Image Filtersを使用して影付き文字列を描画する

Processing3.4とJava Image Filtersを使用して影付き文字列を描画するには、以下のコードを実行します。Java Image Filtersはhttp://www.jhlabs.com/ip/filters/download.htmlからFilters.jarをダウンロードしてSketchのcodeサブフォルダに配置するか、Sketch->Add FilesメニューからSketchに追加します。

// キャンバスサイズ
size(200, 200);
PImage img = loadImage("SF.JPG");
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((java.awt.image.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を使用してドロップシャドウつきの文字列を描画した画像


動作環境
Processing 3.4

〇関連項目
・Processingをインストールした仮想マシンを構築するには、以下のページを参照してください。
https://serverarekore.blogspot.com/search/label/Processing

・Processingに関する他の記事は、こちらを参照してください。

Sunday, November 18, 2018

Processing3.4とJava Image Filtersを使用して画像をサーモグラフィ風にする

Processing3.4とJava Image Filtersを使用して画像をサーモグラフィ風にするには、以下のコードを実行します。Java Image Filtersはhttp://www.jhlabs.com/ip/filters/download.htmlからFilters.jarをダウンロードしてSketchのcodeサブフォルダに配置するか、Sketch->Add FilesメニューからSketchに追加します。

import java.awt.*;
// キャンバスサイズ
size(200, 200);
PImage img = loadImage("SF.JPG");
// カラーマップを作成 
ArrayColormap ac = new ArrayColormap();
ac.setColorRange(0, 50, Color.BLACK.getRGB(), Color.BLUE.getRGB());
ac.setColorRange(51, 101, Color.BLUE.getRGB(), Color.GREEN.getRGB());
ac.setColorRange(102, 152, Color.GREEN.getRGB(), Color.YELLOW.getRGB());
ac.setColorRange(153, 204, Color.YELLOW.getRGB(), Color.RED.getRGB());
ac.setColorRange(205, 255, Color.RED.getRGB(), Color.WHITE.getRGB());
// サーモグラフィ風に変換
LookupFilter lf = new LookupFilter(ac);
        
PImage img2 = new PImage(lf.filter((java.awt.image.BufferedImage)img.getImage(), null));
image(img2, 0, 0);
// ファイル保存
save("sample1466a.png");

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


出力画像(sample1466a.png)
ProcessingとJava Image Filtersを使用してサーモグラフィ風に変換した画像


○動作環境
Processing 3.4

〇関連項目
・Processingをインストールした仮想マシンを構築するには、以下のページを参照してください。
https://serverarekore.blogspot.com/search/label/Processing

・Processingに関する他の記事は、こちらを参照してください。

Processing3.4とJava Image Filtersを使用して炎の画像を生成する

Processing3.4とJava Image Filtersを使用して炎の画像を生成するには、以下のコードを実行します。Java Image Filtersはhttp://www.jhlabs.com/ip/filters/download.htmlからFilters.jarをダウンロードしてSketchのcodeサブフォルダに配置するか、Sketch->Add FilesメニューからSketchに追加します。

// キャンバスサイズ
size(200, 200);
PImage img = new PImage(200, 200, ARGB);
// 炎のような画像を生成
FBMFilter fbmf = new FBMFilter();
// effect量 
fbmf.setAmount(1f);
// 操作タイプ 
fbmf.setOperation(FBMFilter.NOISE);
// スケール
fbmf.setScale(32);
// 引き伸ばし率
fbmf.setStretch(1f);
// 角度
fbmf.setAngle(10f/180f*ImageMath.PI);

// カラーマップを作成&設定 
ArrayColormap ac = new ArrayColormap();
ac.setColorRange(0, 100, 0x00000000, 0xffff8040);
ac.setColorRange(101, 200, 0xffff8040, 0xffffff60);
ac.setColorRange(201, 255, 0xffffff60, 0xffffffe0);
fbmf.setColormap(ac);
        
PImage img2 = new PImage(fbmf.filter((java.awt.image.BufferedImage)img.getImage(), null));
image(img2, 0, 0);
// ファイル保存
save("sample1465a.png");

出力画像(sample1465a.png)
ProcessingとJava Image Filtersを使用して作成した炎の画像


〇動作環境
Processing 3.4

〇関連項目
・Processingをインストールした仮想マシンを構築するには、以下のページを参照してください。
https://serverarekore.blogspot.com/search/label/Processing

・Processingに関する他の記事は、こちらを参照してください。

Processing3.4とJava Image Filtersを使用して放射ブラーをかける

Processing3.4とJava Image Filtersを使用して放射ブラー(モーションブラー)をかけるには、以下のコードを実行します。Java Image Filtersはhttp://www.jhlabs.com/ip/filters/download.htmlからFilters.jarをダウンロードしてSketchのcodeサブフォルダに配置するか、Sketch->Add FilesメニューからSketchに追加します。

// キャンバスサイズ
size(300,225);
PImage img = loadImage("sf2.jpg");
// 放射ブラーをかける
MotionBlurFilter mbf = new MotionBlurFilter();
// 角度
mbf.setAngle(0f/180f*ImageMath.PI);
// 距離
mbf.setDistance(1f);
// 回転
mbf.setRotation(0.03f);
// ズーム
mbf.setZoom(0.1f);
mbf.setWrapEdges(false);

PImage img2 = new PImage(mbf.filter((java.awt.image.BufferedImage)img.getImage(), null));
image(img2, 0, 0);
// ファイル保存
save("sample1464a.png");

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


出力画像(sample1464a.png)
ProcessingとJava Image Filtersを使用して放射ブラーをかけた画像


○動作環境
Processing 3.4

〇関連項目
・Processingをインストールした仮想マシンを構築するには、以下のページを参照してください。
https://serverarekore.blogspot.com/search/label/Processing

・Processingに関する他の記事は、こちらを参照してください。