Saturday, December 26, 2009

PyWin32とImageMagickで、文字列にモーションブラーをかける

PyWin32とImageMagickで、文字列にモーションブラーをかけるには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("-font", "Tahoma", "-pointsize", "30", "-fill",
"#707070", "-background", "#f0eee4", "label:ImageMagick",
"-gravity", "south", "-splice", "0x20", "-motion-blur",
"0x10+270", "-fill", "#303030", "-background", "none",
"label:ImageMagick", "-gravity", "north", "-composite",
"sample1405a.png")


出力画像(sample1405a.png)
PyWin32とImageMagickでモーションブラーをかけた画像

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

Friday, December 25, 2009

PyWin32とImageMagickで画像をポラロイド写真風にする

PyWin32とImageMagickで画像をポラロイド写真風にするには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("-font", "c:/windows/fonts/msmincho.ttc",
"-pointsize", "20", "-fill", "#303030", "-caption",
"San Francisco\nサンフランシスコ", "sf.jpg", "-background",
"#909090", "-polaroid", "30", "-background", "#ffffff",
"-flatten", "sample1404a.png")


元画像(sf.jpg)


出力画像(sample1404a.png)
PyWin32とImageMagickでポラロイド写真風にした画像

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

Thursday, December 24, 2009

PyWin32とImageMagickで、画像に半透明角丸四角の枠をつける

PyWin32とImageMagickで、画像に半透明角丸四角の枠をつけるには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("-size", "120x120", "xc:none", "-fill", "#C0C0C050",
"-stroke", "#E0E0E050", "-draw",
"roundrectangle 0,0, 119,119,10,10", "(", "sf.jpg", "-resize",
"100x100", "+repage", ")", "-geometry", "+10+10", "-composite",
"sample1403a.png")

#重ねあわせ例
im.convert("sf2.jpg", "(", "sample1403a.png", "-virtual-pixel",
"background", "-background", "none", "-rotate", "-10", ")",
"-geometry", "+150+100", "-composite", "sample1403b.png")


元画像1(sf.jpg)


元画像2(sf2.jpg)


出力画像1(sample1403a.png)
PyWin32とImageMagickで半透明角丸四角の枠をつけた画像

出力画像2(sample1403b.png)


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

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("sf2.jpg");
size(img.width, img.height);
// エッジ抽出
EdgeFilter ef = new EdgeFilter();
PImage img2 = new PImage(ef.filter((BufferedImage)img.getImage(), null));
image(img2, 0, 0);
// ファイル保存
save("sample1450a.png");


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


出力画像(sample1450a.png)
ProcessingとJava Image Filters(pixels)を使用してエッジ抽出した画像

動作環境
Processing 1.0.7

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

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


import griffon.builder.gfx.render.*

def gr = new GfxRenderer()
gr.renderToFile("sample1425a.png", 200, 200){
antialias("on")
star( cx:100, cy:100, count:5, ir:40, or:90,
borderColor: color("#d0b070"),
borderWidth: 2
){
gradientPaint( x1: 0, y1: 0, x2: 0, y2: 200,
color1: color("#ffffe0"), color2: color("#f0d090"))
}
}


出力画像(sample1425a.png)
GfxBuilderで描画したグラデーションのかかった星

動作環境
Groovy1.6.5, JDK6 Update16

Wednesday, December 23, 2009

PyWin32とImageMagickで、画像の端をグレースケールにする

PyWin32とImageMagickで、画像の端をグレースケールにするには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("-size", "200x200", "xc:none", "-draw",
"rectangle 10,10 189,189", "sf.jpg", "-compose", "src_in",
"-composite", "(", "sf.jpg", "-fx", "lightness", ")", "+swap",
"-compose", "src-over", "-composite",
"sample1402a.png")


元画像(sf.jpg)


出力画像(sample1402a.png)
PyWin32とImageMagickで画像の端をグレースケールにした画像

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

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 Balloon(50, 40, 100, 100, 20, 20, 40,
Balloon.TAB_AT_BOTTOM, 0.5f, Balloon.ANGLE_AT_END));
g2d.endDraw();

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


出力画像(sample1482a.png)
Processingとjsilhouetteを使用して描画した吹き出し

動作環境
Processing 1.0.7

Tuesday, December 22, 2009

PyWin32とImageMagickで、画像のヒストグラムを出力する

PyWin32とImageMagickで、画像のヒストグラムを出力するには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("sf2.jpg", "histogram:sample1401a.png")


元画像(sf2.jpg)


出力画像(sample1401a.png)
PyWin32とImageMagickで出力したヒストグラム画像

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

Monday, December 21, 2009

PyWin32とImageMagickで、青っぽい所以外を白黒にする

PyWin32とImageMagickで、青っぽい所以外を白黒にするには以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("sf.jpg", "-alpha", "activate", "-channel", "a",
"-fx", "(hue>0.47&&hue<0.69&&lightness>0.45)?1:0", "-channel",
"rgba", "(", "sf.jpg", "-fx", "lightness", ")", "+swap",
"-composite", "sample1400a.png")


元画像(sf.jpg)


出力画像(sample1400a.png)
PyWin32とImageMagickで青っぽいところ以外を白黒にした画像

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

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);
// 左右反転
FlipFilter ff = new FlipFilter();
ff.setOperation(FlipFilter.FLIP_H);
PImage img2 = new PImage(ff.filter((BufferedImage)img.getImage(), null));
image(img2, 0, 0);
// ファイル保存
save("sample1449a.png");

// 上下反転
FlipFilter ff2 = new FlipFilter();
ff2.setOperation(FlipFilter.FLIP_V);
PImage img3 = new PImage(ff2.filter((BufferedImage)img.getImage(), null));
image(img3, 0, 0);
// ファイル保存
save("sample1449b.png");


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


出力画像(sample1449a.png)
ProcessingとJava Image Filters(pixels)を使用して左右反転した画像

出力画像(sample1449b.png)
ProcessingとJava Image Filters(pixels)を使用して上下反転した画像

動作環境
Processing 1.0.7

Sunday, December 20, 2009

PyWin32とImageMagickで、濃淡模様が渦巻状に吸い込まれるような画像を描画する

PyWin32とImageMagickで、濃淡模様が渦巻状に吸い込まれるような画像を描画するには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("-size", "400x400", "plasma:fractal", "-fx",
"intensity", "-normalize", "(", "-size", "1x1", "xc:#3070A0FF",
"xc:#403010FF", "-append", ")", "-fx", "v.p{0,p}", "-implode",
"1", "-swirl", "120", "-crop", "200x200+100+100",
"sample1399a.png")


出力画像(sample1399a.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("sample1424a.png", 200, 200){
antialias("on")
star( cx:100, cy:100, count:40, ir:80, or:90,
fill: color("#c8c0c0"),
borderColor: color("#808080"),
borderWidth: 2
)
}


出力画像(sample1424a.png)
GfxBuilderで描画したバッジ

動作環境
Groovy1.6.5, JDK6 Update16