Thursday, December 17, 2009

PyWin32とImageMagickで画像をサーモグラフィ風に加工する

PyWin32とImageMagickで画像をサーモグラフィ風に加工するには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("sf.jpg", "-fx", "lightness", "(", "-size", "1x1",
"xc:black", "xc:blue", "xc:green", "xc:yellow", "xc:red",
"xc:white", "-append", ")", "-fx", "v.p{0,p*6}",
"sample1396a.png")


元画像(sf.jpg)


出力画像(sample1396a.png)


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

Wednesday, December 16, 2009

PyWin32とImageMagickで端が絞り込まれた文字列を描画する

PyWin32とImageMagickで端が絞り込まれた文字列を描画するには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("-size", "300x150", "-gravity", "center",
"-pointsize", "50", "-fill", "#bbddff",
"-font", "Tahoma", "label:ImageMagick",
"-virtual-pixel", "background", "-background", "white",
"-fx", "p{i,(j-cos(pi*i/w*2)*0.7*h/2)/(1-cos(pi*i/w*2)*0.7)}",
"sample1395a.png")


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


出力画像(sample1423a.png)
GfxBuilderで描画した星

動作環境
Groovy1.6.5, JDK6 Update16

Tuesday, December 15, 2009

PyWin32とImageMagickで画像をずらしてタイル配置する

PyWin32とImageMagickで画像をずらしてタイル配置するには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("flower1.png", "-roll", "+0+10", "flower1.png",
"+append", "-write", "mpr:t1", "+delete", "-size", "200x200",
"tile:mpr:t1", "sample1394a.png")


元画像(flower1.png)


出力画像(sample1394a.png)
PyWin32とImageMagickでずらしたタイル配置した画像

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

ProcessingとJava Image Filters(pixels)を使用して光の放射を描画する

より新しいバージョンでの記事ProcessingとJava Image Filtersを使用して光の放射を描画するを参照してください。

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);
// 光の放射を描画する
SparkleFilter sf = new SparkleFilter();
// 線の数
sf.setRays(25);
// きらめきの量
sf.setAmount(55);
// ランダムさ
sf.setRandomness(50);
// 色
sf.setColor(0xffffff0);
PImage img2 = new PImage(sf.filter((BufferedImage)img.getImage(), null));
image(img2, 0, 0);
// ファイル保存
save("sample1447a.png");


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


出力画像(sample1447a.png)
ProcessingとJava Image Filters(pixels)を使用して光の放射を描画した画像

動作環境
Processing 1.0.7

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

Monday, December 14, 2009

PyWin32とImageMagickで1ピクセルラインごとにモーションブラーをかける

PyWin32とImageMagickで1ピクセルラインごとにモーションブラーをかけるには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("sf2.jpg", "-alpha", "activate", "-channel", "a",
"-fx", "j%2==0?1:0", "-channel", "RGBA", "(", "sf2.jpg",
"-motion-blur", "0x5+180", ")", "+swap", "-composite",
"sample1393a.png")


元画像(sf2.jpg)


出力画像(sample1393a.png)
PyWin32とImageMagickで1ピクセルラインごとにモーションブラーをかけた画像

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

Processingとjsilhouetteを使用して星芒形を描画する

より新しいバージョンでの記事Processing3.4と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 Astroid(100, 100, 80, 0));
g2d.endDraw();

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


出力画像(sample1481a.png)
Processingとjsilhouetteを使用して描画した星芒形

動作環境
Processing 1.0.7

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

Sunday, December 13, 2009

PyWin32とImageMagickで環状に透明スリットが広がるように加工する

PyWin32とImageMagickで環状に透明スリットが広がるように加工するには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("-size", "200x200", "xc:none", "sf.jpg",
"-alpha", "activate", "-channel", "rgba", "-fx",
"dp=sqrt((120-i)^2+(150-j)^2); \
dp<20||(dp-20)%15>floor((dp-20)/15)?v.p:#00000000",
"sample1392a.png")


元画像(sf.jpg)


出力画像(sample1392a.png)
PyWin32とImageMagickで環状に透明スリットが広がるように加工した画像

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

Saturday, December 12, 2009

PyWin32とImageMagickでだんだんと白黒画像になっていくグラデーションを作成する

PyWin32とImageMagickでだんだんと白黒画像になっていくグラデーションを作成するには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("sf.jpg", "-fx", "(r+g+b)/3", "(", "sf.jpg", "-alpha",
"activate", "-channel", "a", "-fx",
"1-sqrt(pow(140-i,2)+pow(80-j,2))/100", ")", "-composite",
"sample1391a.png")


元画像(sf.jpg)


PyWin32とImageMagickで描画しただんだんと白黒画像になっていくグラデーション

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

ProcessingとJava Image Filters(pixels)を使用して画像をエンボス加工する

より新しいバージョンでの記事Processing3.4とJava Image Filtersを使用して画像をエンボス加工するを参照してください。

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);
// 画像をエンボス加工する
EmbossFilter ef = new EmbossFilter();
// 方位
ef.setAzimuth(45f * ImageMath.PI / 180f);
// 仰角
ef.setElevation(30f * ImageMath.PI / 180f);
// 段差
ef.setBumpHeight(2);
// trueなら元の色を残す
ef.setEmboss(false);
PImage img2 = new PImage(ef.filter((BufferedImage)img.getImage(), null));
image(img2, 0, 0);
// ファイル保存
save("sample1446a.png");


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


出力画像(sample1446a.png)
ProcessingとJava Image Filters(pixels)を使用してエンボスをかけた画像

動作環境
Processing 1.0.7

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

GfxBuilderで正多角形を描画する

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


import griffon.builder.gfx.render.*

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


出力画像(sample1422a.png)
GfxBuilderで描画した正多角形

動作環境
Groovy1.6.5, JDK6 Update16

Friday, December 11, 2009

PyWin32とImageMagickで斜線グラデーションの背景画像を作成する

PyWin32とImageMagickで斜線グラデーションの背景画像を作成するには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("-size", "300x50", "xc:black", "-fx",
"(i+j)%5==0?0:(sin(pi*i/w))*0.6",
"sample1390a.png")


出力画像(sample1390a.png)
PyWin32とImageMagickで作成した斜線グラデーションの背景画像

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

Thursday, December 10, 2009

PyWin32とImageMagickで画像を山折り・谷折りする

PyWin32とImageMagickで画像を山折り・谷折りするには以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("sf.jpg", "-fx", "j%20>9?p:p*0.8",
"-mattecolor", "black", "-frame", "20x10",
"-fx", "j%20>9?p{i+j%10-5,j}:p{i-j%10+5,j}",
"sample1389a.png")


元画像(sf.jpg)


出力画像(sample1389a.png)
PyWin32とImageMagickで山折・谷折した画像

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

Wednesday, December 09, 2009

PyWin32とImageMagickで画像の上下左右を切り落とす

PyWin32とImageMagickで画像の上下左右を切り落とすには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
# 左を50ピクセル切り落とし
im.convert("sf.jpg", "-chop", "50x0", "sample1388a.png")
# 左を10ピクセル、上を50ピクセル切り落とし
im.convert("sf.jpg", "-chop", "10x50", "sample1388b.png")
# 右を40ピクセル切り落とし
im.convert("sf.jpg", "-gravity", "east", "-chop", "40x0", "sample1388c.png")
# 下を30ピクセル切り落とし
im.convert("sf.jpg", "-gravity", "south", "-chop", "0x30", "sample1388d.png")


元画像(sf.jpg)


左を50ピクセル切り落とした画像(sample1388a.png)


左を10ピクセル、上を50ピクセル切り落とした画像(sample1388b.png)


右を40ピクセル切り落とした画像(sample1388c.png)


下を30ピクセル切り落とした画像(sample1388d.png)


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

ProcessingとJava Image Filters(pixels)を使用して画像を台形変形させる

より新しいバージョンでの記事Processing3.4とJava Image Filtersを使用して画像を台形変形させる を参照してください。

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);
// 画像を台形変形させる
PerspectiveFilter pf = new PerspectiveFilter();
pf.setCorners(
25, 30, /* 左上の座標 */
175, 30, /* 右上の座標 */
200, 200, /* 右下の座標 */
0, 200 /* 左下の座標 */
);
pf.setEdgeAction(pf.ZERO);
//pf.setClip(true);
PImage img2 = new PImage(pf.filter((BufferedImage)img.getImage(), null));
image(img2, 0, 0);
// ファイル保存
save("sample1445a.png");


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


出力画像(sample1445a.png)
ProcessingとJava Image Filters(pixels)を使用して台形変形した画像

動作環境
Processing 1.0.7

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

GfxBuilderで角丸四角を描画する

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


import griffon.builder.gfx.render.*

def gr = new GfxRenderer()
gr.renderToFile("sample1421a.png", 100, 100){
antialias("on")
rect( x:10, y:10, width:80, height:80,
arcWidth: 20, arcHeight:20,
fill: color("#c8c0c0"),
borderColor: color("#808080"),
borderWidth: 2
)
}


出力画像(sample1421a.png)
GfxBuilderで描画した角丸四角

動作環境
Groovy1.6.5, JDK6 Update16

Tuesday, December 08, 2009

PyWin32とImageMagickでグラデーションのかかった角丸四角を描画する

PyWin32とImageMagickでグラデーションのかかった角丸四角を描画するには以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("-size", "200x200", "xc:none",
"-fill", "gradient:#ccddff-#557799",
"-draw", "roundrectangle 0,0 199,199 20,20", "sample1387a.png")


出力画像(sample1387a.png)
PyWin32とImageMagickで描画したグラデーションのかかった角丸四角

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

Monday, December 07, 2009

PyWin32とImageMagickで写真を重ねたような画像を描画する

PyWin32とImageMagickで写真を重ねたような画像を描画するには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("sf.jpg", "-resize", "50%", "-bordercolor", "#fbfaf7",
"-border", "4x4", "-bordercolor", "#918164", "-border", "1x1",
"-bordercolor", "none", "-border", "20x20", "-background", "none",
"-shear", "0x10", "-repage", "+10-15", "(", "+clone", "-repage",
"+0+0", ")", "(", "+clone", "-repage", "-10+15", ")",
"-background", "#eeeeff", "-flatten", "sample1386a.png")


元画像(sf.jpg)


出力画像(sample1386a.png)
PyWin32とImageMagickで写真を重ねたように描画した画像

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

Sunday, December 06, 2009

Processingで画像をグラデーションのかかった画像に変換する

Processingで画像をグラデーションのかかった画像に変換するには、以下のコードを実行します。


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

int sx = 200;
int sy = 200;

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);
}
}
// オフスクリーンバッファを作成
PGraphics gr = createGraphics(200, 200, JAVA2D);
gr.colorMode(RGB, 255, 255, 255, 255);
// 画像はdataディレクトリに置いておく
PImage img = loadImage("SF.JPG");
img.filter(GRAY);
// 画像の表示
gr.beginDraw();
gr.image(img, 0, 0);
gr.loadPixels();
for(int li=0;li<img.width*img.height;li++){
gr.pixels[li] =
color(red(img.pixels[li]),
green(img.pixels[li]),
blue(img.pixels[li]),
128);
}
gr.updatePixels();
gr.endDraw();
image(gr, 0, 0);

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


元画像(SF.JPG)


出力画像(sample1385a.png)
Processingでグラデーションをかけた画像

○動作環境
Processing 3.4/Processing 1.0.7

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

ProcessingとJava Image Filters(pixels)を使用して画像を油絵風に加工する

より新しいバージョンでの記事ProcessingとJava Image Filtersを使用して画像を油絵風に加工するを参照してください。

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(300, 225);
PImage img = loadImage("sf2.jpg");
// 画像を油絵風に変換する
OilFilter of = new OilFilter();
// ピクセルでの効果範囲
of.setRange(2);
// 効果のレベル
of.setLevels(7);
PImage img2 = new PImage(of.filter((BufferedImage)img.getImage(), null));
image(img2, 0, 0);
// ファイル保存
save("sample1444a.png");


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


出力画像(sample1444a.png)
ProcessingとJava Image Filters(pixels)を使用して油絵風に変換した画像

動作環境
Processing 1.0.7

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