Saturday, November 21, 2009

Processingとjsilhouetteを使用してアーモンド形を描画する

Processingとjsilhouetteを使用してアーモンド形を描画するには、以下のコードを実行します。jsilhouetteはhttp://code.google.com/p/jsilhouette/から jsilhouette-geom-0.3.1.jarをダウンロードしてSketchのフォルダのcodeサブフォルダに配置するか、 Sketch->Add FilesメニューからSketchに追加します。


// キャンバスサイズ
size(200, 200);
background(#f8f8ff);
// 描画用PGraphics作成
PGraphicsJava2D g2d=(PGraphicsJava2D)createGraphics(200, 200, JAVA2D);
g2d.beginDraw();
Graphics2D gr = g2d.g2;
gr.setColor(new Color(#ffcc00));
// アーモンド形を描画
gr.fill(new Almond(100, 100, 50, 0));
g2d.endDraw();

image(g2d, 0, 0);
// ファイル保存
save("sample1478a.png");


出力画像(sample1478a.png)
Processingとjsilhouetteを使用して描画したアーモンド形

動作環境
Processing 1.0.7

PyWin32とImageMagickで画像に網掛けする

PyWin32とImageMagickで画像に網掛けするには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("sf.jpg", "-fx", "i%2*j%2?p:p*0.6", "sample1370a.png")


元画像(sf.jpg)


出力画像(sample1370a.png)
PyWin32とImageMagickで網掛けした画像

動作環境
Python3.1.1, Python for Windows Extensions (Build 214), ImageMagick6.5.5

Friday, November 20, 2009

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に追加します。


// キャンバスサイズ
size(200, 200);
PImage img = loadImage("SF.JPG");
ContrastFilter cf = new ContrastFilter();
// 明るさを50%に
cf.setBrightness(0.5f);
PImage img2 = new PImage(cf.filter((BufferedImage)img.getImage(), null));
image(img2, 0, 0);
// ファイル保存
save("sample1439a.png");

// コントラストを150%
ContrastFilter cf2 = new ContrastFilter();
cf2.setContrast(1.5f);
PImage img3 = new PImage(cf2.filter((BufferedImage)img.getImage(), null));
image(img3, 0, 0);
// ファイル保存
save("sample1439b.png");


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


出力画像1(sample1439a.png)


出力画像2(sample1439b.png)


動作環境
Processing 1.0.7

PyWin32とImageMagickで画像を半透明にして重ね合わせる

PyWin32とImageMagickで画像を半透明にして重ね合わせるには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.composite("-dissolve", "50%", "sample3b.jpg", "sf.jpg",
"-geometry", "+15+50", "sample1369a.png")


元画像1(sf.jpg)


元画像2(sample3b.jpg)


出力画像(sample1369a.png)
PyWin32とImageMagickで半透明にして重ね合わせた画像

動作環境
Python3.1.1, Python for Windows Extensions (Build 214), ImageMagick6.5.5

GfxBuilderで円を描画する

GfxBuilderで円を描画するには、以下のコードを実行します。


import griffon.builder.gfx.render.*

def gr = new GfxRenderer()
gr.renderToFile("sample1416a.png", 200, 200){
antialias("on")
circle( cx: 100, cy: 100, radius:80,
fill: color("#c8c0c0"),
borderColor: color("#808080"),
borderWidth: 2
)
}


出力画像(sample1416a.png)
GfxBuilderで描画した円

動作環境
Groovy1.6.5, JDK6 Update16

Thursday, November 19, 2009

PyWin32とImageMagickで画像をセピア調に変換する

PyWin32とImageMagickで画像をセピア調に変換するには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("sf.jpg", "-sepia-tone", "80%", "sample1368a.png")


元画像(sf.jpg)


出力画像(sample1368a.png)
PyWin32とImageMagickでセピア調に変換した画像

動作環境
Python3.1.1, Python for Windows Extensions (Build 214), ImageMagick6.5.5

Wednesday, November 18, 2009

PyWin32とImageMagickで画像にモザイクをかける

PyWin32とImageMagickで画像にモザイクをかけるには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("sf.jpg", "-resize", "20x20", "-filter", "point",
"-resize", "200x200", "sample1367a.png")


元画像(sf.jpg)


出力画像(sample1367a.png)
PyWin32とImageMagickでモザイクをかけた画像

動作環境
Python3.1.1, Python for Windows Extensions (Build 214), ImageMagick6.5.5

Processingでグラデーションを描画する

Processingでグラデーションを描画するには、以下のコードを実行します。


// キャンバスサイズ
size(400, 400);
color c1 = color(#FFFF10);
color c2 = color(#3070A0);

int sx = 400;
int sy = 400;

float dr = (red(c2) - red(c1))/sy;
float dg = (green(c2) - green(c1))/sy;
float db = (blue(c2) - blue(c1))/sy;

for(int ly=0;ly<sy;ly++){
color pc = color(
(red(c1) + ly*dr),
(green(c1) + ly*dg),
(blue(c1) + ly*db)
);
for(int lx=0;lx<sx;lx++){
set(lx, ly, pc);
}
}

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


出力画像(sample1366a.png)
Processingで描画したグラデーション

動作環境
Processing 1.0.7

Tuesday, November 17, 2009

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に追加します。


// キャンバスサイズ
size(200, 200);
PImage img = loadImage("SF.JPG");
WaterFilter wf = new WaterFilter();
/* x座標を60%に設定 */
wf.setCentreX(0.6f);
/* y座標を60%に設定 */
wf.setCentreY(0.6f);
/* 半径を設定 */
wf.setRadius(100f);
/* 輪の太さ */
wf.setWavelength(20);
/* 振幅 */
wf.setAmplitude(4);
PImage img2 = new PImage(wf.filter((BufferedImage)img.getImage(), null));
image(img2, 0, 0);
// ファイル保存
save("sample1438a.png");


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


出力画像(sample1438a.png)
ProcessingとJava Image Filtersで波紋加工した画像

動作環境
Processing 1.0.7

PyWin32とImageMagickで画像を早朝っぽく変換する

PyWin32とImageMagickで画像を早朝っぽく変換するには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("sf2.jpg", "-fill", "#bbddff", "-tint", "120",
"sample1365a.png")


元画像(sf2.jpg)


出力画像(sample1365a.png)
PyWin32とImageMagickで早朝っぽく変換した画像

動作環境
Python3.1.1, Python for Windows Extensions (Build 214), ImageMagick6.5.5

GfxBuilderで吹き出しを描画する

GfxBuilderで吹き出しを描画するには、以下のコードを実行します。


import griffon.builder.gfx.render.*
import org.kordamp.jsilhouette.geom.*

def gr = new GfxRenderer()
gr.renderToFile("sample1415a.png", 200, 200){
antialias("on")
balloon( x: 80, y: 20, width: 100, height: 100,
fill: color("#c8c0c0"),
tabLocation: Balloon.TAB_AT_LEFT,
tabDisplacement: 0.8,
tabHeight: 10,
tabWidth: 10,
borderColor: color("#808080"),
borderWidth: 2
)
}


出力画像(sample1415a.png)
GfxBuilderで描画した吹き出し

動作環境
Groovy1.6.5, JDK6 Update16

Monday, November 16, 2009

PyWin32とImageMagickでプラズマフラクタル画像を作成する

PyWin32とImageMagickでプラズマフラクタル画像を作成するには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("-seed", "65535", "-size", "200x200", "plasma:fractal",
"sample1364a.png")


出力画像(sample1364a.png)


動作環境
Python3.1.1, Python for Windows Extensions (Build 214), ImageMagick6.5.5

ImageMagickで文字間隔を指定する

ImageMagickで文字間隔を指定するには、以下のバッチファイルを実行します。


rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.5.7-Q16

rem 文字間のスペースを指定
%im%\convert.exe -fill #5577ee -font Tahoma-Bold -pointsize 25
-background none -kerning 15 "label:IMAGE MAGICK" sample1432a.png


出力画像(sample1432a.png)
ImageMagickで文字間隔を<br />指定して描画した文字列

動作環境
ImageMagick 6.5.7

Sunday, November 15, 2009

PyWin32とImageMagickで画像をグラデーションのかかった砂地っぽい画像に変換する

PyWin32とImageMagickで画像をグラデーションのかかった砂地っぽい画像に変換するには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("sf2.jpg", "-blur", "0x1", "-fx", "p*0.7+rand()*0.3",
"-colorspace", "gray", "-emboss", "1", "(", "-size", "300x225",
"gradient:#FFFF1050-#3070A050", ")", "-composite",
"sample1363a.png")


元画像(sf2.jpg)


出力画像(sample1363a.png)
PyWin32とImageMagickでグラデーションのかかった砂地っぽい画像

動作環境
Processing 1.0.7

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サブフォルダに配置します。


import com.jhlabs.image.*;
// キャンバスサイズ
size(300, 225);
// 画像はdataディレクトリに置いておく
PImage img = loadImage("sf2.jpg");
DiffuseFilter df = new DiffuseFilter();
df.setScale(10);
PImage img2 = new PImage(df.filter((BufferedImage)img.getImage(), null));
image(img2, 0, 0);
// ファイル保存
save("sample1437a.png");


元画像(sf2.jpg):dataサブフォルダに配置します。


出力画像(sample1437a.png)


動作環境
Processing 1.0.7, pixels-core-2.1.3-SNAPSHOT

ImageMagickで単語間隔、行間隔を指定する

ImageMagickで単語間隔、行間隔を指定するには、以下のバッチファイルを実行します。


rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.5.7-Q16

rem 単語間のスペースを指定
%im%\convert.exe -fill #5577ee -font Tahoma -pointsize 25
-background none -interword-spacing 50
"label:Image Magick" sample1431a.png

rem 行間のスペースを指定
%im%\convert.exe -fill #5577ee -font
C:\\Windows\\Fonts\\MSGOTHIC.TTC -pointsize 25
-background none -interline-spacing 30
"label:@message.txt" sample1431b.png


message.txtにはUTF-8で以下の日本語テキストを保存します。
日本語の
文字列


出力画像1(sample1431a.png)
ImageMagickで単語間隔を指定した画像

出力画像2(sample1431b.png)
ImageMagickで行間隔を指定した画像

動作環境
ImageMagick6.5.7