Saturday, November 28, 2009

PyWin32とImageMagickで点線の角丸四角を描画する - その1

PyWin32とImageMagickで点線の角丸四角を描画するには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("-size", "200x200", "xc:white", "-stroke", "#ccddff",
"-fill", "white", "-strokewidth", "3", "-draw",
"stroke-dasharray 3,4 stroke-width 2 \
roundrectangle 5,5 195,195 20,20", "sample1377a.png")


出力画像(sample1377a.png)


動作環境
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("sample1418a.png", 200, 200){
antialias("on")
ellipse( cx:100, cy:100, radiusX:80, radiusY:40,
fill: color("#c8c0c0"),
borderColor: color("#808080"),
borderWidth: 2
)
}


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

動作環境
Groovy1.6.5, JDK6 Update16

Friday, November 27, 2009

PyWin32とImageMagickで上下・左右に半透明グラデーションをかける

PyWin32とImageMagickで上下・左右に半透明グラデーションをかけるには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
# 上下半透明グラデーション
im.convert("-size", "200x200", "xc:none", "(", "xc:#d0903080",
"xc:#10101080", "+append", "-resize", "2x1", ")", "-channel",
"rgba", "-fx", "v.p{(1-sin(pi*j/h)),1}", "sf.jpg", "+swap",
"-composite", "sample1376a.png")

# 左右半透明グラデーション
im.convert("-size", "200x200", "xc:none", "(", "xc:#d0903080",
"xc:#10101080", "+append", "-resize", "2x1", ")", "-channel",
"rgba", "-fx", "v.p{(1-sin(pi*i/w)),1}", "sf.jpg", "+swap",
"-composite", "sample1376b.png")


元画像(sf.jpg)


出力画像1(sample1376a.png)
PyWin32とImageMagickで出力した上下半透明グラデーション

出力画像2(sample1376b.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に追加します。


// キャンバスサイズ
size(300, 225);
PImage img = loadImage("sf2.jpg");
// 画像にマーブルフィルタをかける
MarbleFilter mf = new MarbleFilter();
// Xスケールの設定
mf.setXScale(8f);
// Yスケールの設定
mf.setYScale(8f);
// マーブルフィルタをかける量
mf.setAmount(1.0f);
// 荒れ具合を指定
mf.setTurbulence(0.7f);
PImage img2 = new PImage(mf.filter((BufferedImage)img.getImage(), null));
image(img2, 0, 0);
// ファイル保存
save("sample1441a.png");


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


出力画像(sample1441a.png)
ProcessingとJava Image Filters(pixels)を使用してマーブルフィルタを適用した画像

動作環境
Processing 1.0.7

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

Thursday, November 26, 2009

PyWin32とImageMagickで画像にレンガ模様を重ね合わせる

PyWin32とImageMagickで画像にレンガ模様を重ね合わせるには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("-size", "200x200", "xc:none", "-fx",
"(i+(floor(j/20)%2)*8)%30>1&&\
(i+(floor(j/20)%2)*8)%30<29&&j%20>1&&j%20<19?0:1",
"-shade", "-45x23",
"sample1375a.png")

im.convert("sf.jpg", "-channel", "rgba", "(", "sample1375a.png",
"-alpha", "activate", "-channel", "a", "-fx", "0.3" "-channel", "rgba",
")", "-composite",
"sample1375b.png")


元画像(sf.jpg)


出力画像(sample1375b.png)
PyWin32とImageMagickでレンガ模様を重ね合わせた画像

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

Wednesday, November 25, 2009

PyWin32とImageMagickでバンド状のグラデーションを作成する

PyWin32とImageMagickでバンド状のグラデーションを作成するには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("-size", "200x200", "xc:white", "(", "-size", "1x1",
"xc:#3070A0FF", "xc:#FFFF10FF", "-append", "-resize", "1x2", ")",
"-fx", "v.p{0,floor(j/20)*20/h}",
"sample1374a.png")


出力画像(sample1374a.png)
PyWin32とImageMagickで作成したバンド状グラデーション

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

Tuesday, November 24, 2009

PyWin32とImageMagickでcharcoal処理した画像にグラデーションをかける

PyWin32とImageMagickでcharcoal処理した画像にグラデーションをかけるには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("sf.jpg", "-enhance", "-enhance", "-charcoal", "1",
"-contrast", "-alpha", "activate", "-channel", "a", "-fx", "r",
"-channel", "rgba", "(", "-size", "200x200",
"gradient:#F8C749-#BBDDFF", ")", "+swap", "-composite",
"sample1373a.png")


元画像(sf.jpg)


出力画像(sample1373a)
PyWin32とImageMagickでcharcoal処理してグラデーションをかけた画像

動作環境
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に追加します。


// キャンバスサイズ
size(300, 225);
PImage img = loadImage("sf2.jpg");
// 画像をステンドグラスっぽく加工
CrystallizeFilter cf = new CrystallizeFilter();
// スケールの設定
cf.setScale(8);
// エッジを消すかどうか
cf.setFadeEdges(false);
// エッジの幅
cf.setEdgeThickness(0.4f);
// ランダムさ
cf.setRandomness(0.5f);
PImage img2 = new PImage(cf.filter((BufferedImage)img.getImage(), null));
image(img2, 0, 0);
// ファイル保存
save("sample1440a.png");


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


出力画像(sample1440a.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("sample1417a.png", 200, 200){
antialias("on")
donut( cx:100, cy:100, ir:50, or:90,
fill: color("#c8c0c0"),
borderColor: color("#808080"),
borderWidth: 2
)
}


出力画像(sample1417a.png)
GfxBuilderで描画したドーナツ型

動作環境
Groovy1.6.5, JDK6 Update16

Monday, November 23, 2009

PyWin32とImageMagickで画像に枠を追加する

PyWin32とImageMagickで画像に枠を追加するには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("sf.jpg", "-bordercolor", "#fbfaf7", "-border",
"10x10", "-bordercolor", "#918164", "-border", "5x5",
"sample1372a.png")


元画像(sf.jpg)


出力画像(sample1372a.png)
PyWin32とImageMagickで枠を描画した画像

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

Sunday, November 22, 2009

PyWin32とImageMagickで影のついた文字列を描画する

PyWin32とImageMagickで影のついた文字列を描画するには、以下のコードを実行します。


# coding=UTF-8
import win32com.client

im = win32com.client.Dispatch("ImageMagickObject.MagickImage.1")
im.convert("-size", "200x50", "xc:none", "-fill", "orange",
"-pointsize", "30", "-font", "Tahoma",
"-draw", "text 10,40 ImageMagick", "(",
"+clone", "-background", "#000000", "-shadow", "40x3+3+3", ")",
"+swap", "-background", "#ffffff", "-mosaic", "sample1371a.png")


出力画像(sample1371a.png)
PyWin32とImageMagickで描画した影のついた文字列

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

ProcessingとJava Image Filters(pixels)を使用して画像にMaximumフィルタをかける

より新しいバージョンでの記事Processing3.4とJava Image Filtersを使用して画像にMaximumフィルタをかけるを参照してください。

ProcessingとJava Image Filters(pixels)を使用して画像にMaximumフィルタをかけるには、以下のコードを実行します。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);
// Maximum Filterを適用する
MaximumFilter mf = new MaximumFilter();
PImage img2 = new PImage(mf.filter((BufferedImage)img.getImage(), null));
image(img2, 0, 0);
// ファイル保存
save("sample1468a.png");


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


出力画像(sample1468a.png)
ProcessingとJava Image Filters(pixels)を使用してMaximumフィルタをかけた画像

動作環境
Processing 1.0.7

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

Saturday, November 21, 2009

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

より新しいバージョンでの記事Processing3.4とjsilhouetteを使用してアーモンド形を描画するを参照してください。

Processingとjsilhouetteを使用してアーモンド形を描画するには、以下のコードを実行します。jsilhouetteはhttps://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

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

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)を使用して明るさ・コントラストを変更する

より新しいバージョンでの記事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に追加します。


// キャンバスサイズ
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

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

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で描画したグラデーション

動作環境
Processing3.4/Processing 1.0.7

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