Thursday, April 28, 2011

PythonMagickで画像を回転させる

PythonMagickで画像を回転させるには、以下のコードのようにrotateを使用します。

# coding=UTF-8
import PythonMagick

# 画像を回転させる
img = PythonMagick.Image("SF.JPG")
# 余白の背景色を指定
img.backgroundColor(PythonMagick._PythonMagick.Color("#7799dd"))
img.rotate(30)
img.write("img6.jpg")


元画像


出力画像


※ubuntuでPythonMagickをインストールするには、以下のコマンドを実行します。
sudo apt-get install python-pythonmagick

動作環境
python 2.6.6, python-pythonmagick 0.9.1

Tuesday, April 26, 2011

PythonMagickで画像をスクロールさせる

PythonMagickで画像をスクロールさせるには、以下のコードのようにrollを使用します。

# coding=UTF-8
import PythonMagick

# 横方向に20ピクセルスクロール
img = PythonMagick.Image("SF.JPG")
img.roll(PythonMagick._PythonMagick.Geometry(0, 0, 20, 0))
img.write("img5a.jpg")

# 縦方向に20ピクセルスクロール
img2 = PythonMagick.Image("SF.JPG")
img2.roll(PythonMagick._PythonMagick.Geometry(0, 0, 0, 20))
img2.write("img5b.jpg")


元画像


出力画像1


出力画像2


※ubuntuでPythonMagickをインストールするには、以下のコマンドを実行します。
sudo apt-get install python-pythonmagick

動作環境
python 2.6.6, python-pythonmagick 0.9.1

Sunday, April 24, 2011

PythonMagickで画像の一部を切り取る

PythonMagickで画像の一部を切り取るには、以下のコードのようにcropを使用します。

# coding=UTF-8
import PythonMagick

# 画像の一部分を切り取る
img = PythonMagick.Image("SF.JPG")
img.crop(PythonMagick._PythonMagick.Geometry(50,100,100,100))
img.write("img4.jpg")


元画像


出力画像


※ubuntuでPythonMagickをインストールするには、以下のコマンドを実行します。
sudo apt-get install python-pythonmagick

動作環境
python 2.6.6, python-pythonmagick 0.9.1

Monday, April 11, 2011

PythonMagickで画像をリサイズする

PythonMagickで画像をリサイズするには、以下のコードを実行します。

# coding=UTF-8
import PythonMagick

# リサイズ
img = PythonMagick.Image("SF.JPG")
img.sample(PythonMagick._PythonMagick.Geometry(100,100))
img.write("img3.jpg")

元画像


出力画像


※ubuntuでPythonMagickをインストールするには、以下のコマンドを実行します。
sudo apt-get install python-pythonmagick

動作環境
python 2.6.6, python-pythonmagick 0.9.1

Friday, April 08, 2011

PythonMagickで画像を上下反転・左右反転させる

PythonMagickで画像を上下反転・左右反転させるには、以下のコードを実行します。

# coding=UTF-8
import PythonMagick

# 上下反転
img = PythonMagick.Image("SF.JPG")
img.flip()
img.write("img2.jpg")

# 左右反転
img2 = PythonMagick.Image("SF.JPG")
img2.flop()
img2.write("img3.jpg")

元画像


出力画像1


出力画像2


※ubuntuでPythonMagickをインストールするには、以下のコマンドを実行します。
sudo apt-get install python-pythonmagick

動作環境
python 2.6.6, python-pythonmagick 0.9.1

Wednesday, April 06, 2011

PythonMagickで画像を白黒に変換する

PythonMagickで画像を白黒に変換するには、以下のコードを実行します。

# coding=UTF-8
import PythonMagick

img = PythonMagick.Image("SF.JPG")
img.modulate(100,0,0)
img.write("img1.jpg")

元画像


出力画像


※ubuntuでPythonMagickをインストールするには、以下のコマンドを実行します。
sudo apt-get install python-pythonmagick

動作環境
python 2.6.6, python-pythonmagick 0.9.1

Sunday, April 03, 2011

Graphvizで出力イメージを縮小する

Graphvizで出力イメージを縮小するには、以下のようにviewportの3番目のパラメータを指定します。.5を指定することで1/2に縮小されます。

実行コマンド
dot -Gviewport=150,150,.5 -Gresolution=72 -Tpng graph37.dot -o test37.png

graph37.dot(UTF-8で保存)
digraph graph37
{
node [fontname="MS Gothic"];
項目1 -> 項目2 -> 項目3;
項目2 -> 項目4;
}


出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Friday, April 01, 2011

Graphvizで背景を透明にして半透明のノードを描画する

Graphvizで背景を透明にして半透明のノードを描画するには、以下のようにcolorでアルファ値を指定します。

graph36.dot(UTF-8で保存)
digraph graph36
{
graph[bgcolor="#00000000"];
node [fontname="MS Gothic", style="filled",
fillcolor="#00000080"];
項目1 -> 項目2 -> 項目3;
項目2 -> 項目4;
}

実行コマンド
dot -Gviewport=200,200 -Gresolution=72 -Tpng graph36.dot -o test36.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Wednesday, March 30, 2011

Graphvizのcircoで有方向グラフを描画する

Graphvizのcircoで有方向グラフを描画するには、以下のようなコマンドを実行します。

実行コマンド
circo -Gviewport=500,500 -Gresolution=72 -Tpng graph35.dot -o test35.png

graph35.dot(UTF-8で保存)
digraph graph35
{
node [fontname="MS Gothic"];
項目1 -> 項目2 -> 項目3;
項目3 -> 項目4 -> 項目5;
項目5 -> 項目6 -> 項目1;
項目2 -> 項目5;
}


出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Monday, March 28, 2011

Graphvizのneatoでノードの位置を調節する

Graphvizのneatoでノードの位置を調節するには、以下のようにpos attributeを使用します。

graph34.dot(UTF-8で保存)
graph graph34
{
node [fontname="MS Gothic"];
項目1 [pos="0,0!"];
項目2 [pos="3,0!"];
項目1 -- 項目2 -- 項目3 -- 項目4;
項目4 -- 項目1;
}

実行コマンド
neato -Gviewport=300,200 -Gresolution=72 -Tpng graph34.dot -o test34.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Saturday, March 26, 2011

Graphvizのneatoでノード間の線の長さを変更する

Graphvizのneatoでノード間の線の長さを変更するには、以下のようにlen attributeを使用します。

graph33.dot(UTF-8で保存)
graph graph33
{
node [fontname="MS Gothic"];
項目1 -- 項目2 -- 項目3 -- 項目4;
項目4 -- 項目1 [len=2];
}

実行コマンド
neato -Gviewport=300,200 -Gresolution=72 -Tpng graph33.dot -o test33.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Thursday, March 24, 2011

Graphvizのneatoで無方向グラフを描画する

Graphvizのneatoで無方向グラフを描画するには、以下のようなコマンドを実行します。

実行コマンド
neato -Gviewport=300,200 -Gresolution=72 -Tpng graph32.dot -o test32.png

graph32.dot(UTF-8で保存)
graph graph32
{
node [fontname="MS Gothic"];
項目1 -- 項目2 -- 項目3;
項目2 -- 項目4;
項目2 -- 項目5;
}


出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Tuesday, March 22, 2011

Graphvizで角丸四角などの角が丸まった形を描画する

Graphvizで角丸四角などの角が丸まった形を描画するには、以下のようにstyle attributeを使用します。

graph31.dot(UTF-8で保存)
digraph graph31
{
node [fontname="MS Gothic"];
項目2 [shape="box", style="rounded,filled",
fillcolor="#ccddff"];
項目3 [shape="triangle", style="rounded,filled",
fillcolor="#ccddff"];
項目4 [shape="house", style="rounded,filled",
fillcolor="#ccddff"];
項目1 -> 項目2 -> 項目3;
項目2 -> 項目4;
}

実行コマンド
dot -Gviewport=300,200 -Gresolution=72 -Tpng graph31.dot -o test31.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Sunday, March 20, 2011

Graphvizで矢印の頭の形を変更する

Graphvizで矢印の頭の形を変更するには、以下のようにarrowheadを使用します。

graph30.dot(UTF-8で保存)
digraph graph30
{
node [fontname="MS Gothic"];
項目1 -> 項目2 [arrowhead="dot"];
項目2 -> 項目3 [arrowhead="empty"];
項目2 -> 項目4 [arrowhead="diamond"];
}

実行コマンド
dot -Gviewport=200,200 -Gresolution=72 -Tpng graph30.dot -o test30.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Friday, March 18, 2011

Graphvizでノードの間隔を調節する

Graphvizでノードの間隔を調節するには、以下のようにranksepとnodesepを使用します。

graph29.dot(UTF-8で保存)
digraph graph29
{
ranksep=0.2; nodesep=0.1;
node [fontname="MS Gothic"];
"項目1 " -> "項目2 " -> "項目3 ";
"項目2 " -> "項目4 ";
}

実行コマンド
dot -Gviewport=200,200 -Gresolution=72 -Tpng graph29.dot -o test29.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Wednesday, March 16, 2011

Graphvizでサブグラフ(クラスタ)への矢印を描画する

Graphvizでサブグラフ(クラスタ)への矢印を描画するには、以下のようにlheadとltailを使用します。

graph28.dot(UTF-8で保存)
digraph graph28
{
compound=true;
node [fontname="MS Gothic"];
開始;
subgraph cluster0 {
手順1 -> 手順2;
}
subgraph cluster1 {
手順3 -> 手順4;
}
開始 -> 手順1 [lhead=cluster0];
開始 -> 手順3 [lhead=cluster1];
手順2 -> 終了 [ltail=cluster0];
手順4 -> 終了 [ltail=cluster1];
}

実行コマンド
dot -Gviewport=200,300 -Gresolution=72 -Tpng graph28.dot -o test28.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Monday, March 14, 2011

Graphvizでサブグラフ(クラスタ)にラベルを設定する

Graphvizでサブグラフ(クラスタ)にラベルを設定するには、以下のようにsubgraphとlabelを使用します。

graph27.dot(UTF-8で保存)
digraph graph27
{
node [fontname="MS Gothic", labelfontname="MS Gothic"];
subgraph cluster0 {
label="Procedure-A";
"手順1 " -> "手順2 "
}
subgraph cluster1 {
label="Procedure-B";
"手順3 " -> "手順4 "
}
開始 -> "手順1 ";
開始 -> "手順3 ";
"手順2 " -> 終了;
"手順4 " -> 終了;
}

実行コマンド
dot -Gviewport=200,300 -Gresolution=72 -Tpng graph27.dot -o test27.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Saturday, March 12, 2011

Graphvizでサブグラフ(クラスタ)を描画する

Graphvizでサブグラフ(クラスタ)を描画するには、以下のようにsubgraphを使用します。

graph26.dot(UTF-8で保存)
digraph graph26
{
node [fontname="MS Gothic"];
subgraph cluster0 {
手順1 -> 手順2
}
subgraph cluster1 {
手順3 -> 手順4
}
開始 -> 手順1;
開始 -> 手順3;
手順2 -> 終了;
手順4 -> 終了;
}

実行コマンド
dot -Gviewport=200,300 -Gresolution=72 -Tpng graph26.dot -o test26.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Thursday, March 10, 2011

Graphvizでレコード型のノードを描画する

Graphvizでレコード型のノードを描画するには、以下のようにshape attributeを使用します。

graph25.dot(UTF-8で保存)
digraph graph25
{
node [fontname="MS Gothic"];
項目1[shape=record, label="<lp>左|中央|<rp>右"];
項目1:lp -> 項目2;
項目1:rp -> 項目3;
}

実行コマンド
dot -Gviewport=200,200 -Gresolution=72 -Tpng graph25.dot -o test25.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Tuesday, March 08, 2011

Graphvizで矢印の接続元を指定する

Graphvizで矢印の接続元を指定するには、以下のようにtailport attributeを使用します。

graph24.dot(UTF-8で保存)
digraph graph24
{
node [fontname="MS Gothic"];
項目1 -> 項目2 -> 項目3;
項目2 -> 項目4 [tailport="e"];
項目2 -> 項目5 [tailport="w"];
}

実行コマンド
dot -Gviewport=200,200 -Gresolution=72 -Tpng graph24.dot -o test24.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Sunday, March 06, 2011

Graphvizでノードのランクを合わせる

Graphvizでノードのランクを合わせるには、以下のようにrank attributeを使用します。

graph23.dot(UTF-8で保存)
graph graph23
{
node [fontname="MS Gothic"];
項目1 -- 項目2 -- 項目3;
項目2 -- 項目4 -- 項目5;
{rank=same; 項目2; 項目4;}
}

実行コマンド
dot -Gviewport=200,200 -Gresolution=72 -Tpng graph23.dot -o test23.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Friday, March 04, 2011

GraphvizでHTML風のラベルを指定する

GraphvizでHTML風のラベルを指定するには、以下のようにlabel attributeを使用します。

graph22.dot(UTF-8で保存)
graph graph21
{
node [fontname="MS Gothic"];
項目1 [shape="none", label=<
<table cellpadding="16" cellspacing="4">
<tr><td>1 </td><td>2 </td></tr>
<tr><td>100</td><td>200</td></tr>
</table>>];
}

実行コマンド
dot -Gviewport=200,200 -Gresolution=72 -Tpng graph22.dot -o test22.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Wednesday, March 02, 2011

Graphvizで線のラベルを指定する

Graphvizで線のラベルを指定するには、以下のようにlabel attributeを使用します。

graph21.dot(UTF-8で保存)
graph graph21
{
node [fontname="MS Gothic"];
項目1 -- 項目2 -- 項目3;
項目2 -- 項目4 [label="execute"];
}

実行コマンド
dot -Gviewport=200,200 -Gresolution=72 -Tpng graph21.dot -o test21.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Monday, February 28, 2011

Graphvizで矢印を点線・破線にする

Graphvizで矢印を点線・破線にするには、以下のようにstyle attributeを使用します。

graph20.dot(UTF-8で保存)
digraph graph20
{
node [fontname="MS Gothic"];
項目1 -> 項目2 -> 項目3 [style="dotted"];
項目2 -> 項目4 [style="dashed"];
}

実行コマンド
dot -Gviewport=200,200 -Gresolution=72 -Tpng graph20.dot -o test20.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Saturday, February 26, 2011

Graphvizで矢印の接続先を指定する

Graphvizで矢印の接続先を指定するには、以下のようにheadport attributeを使用します。

graph19.dot(UTF-8で保存)
digraph graph19
{
node [fontname="MS Gothic"];
項目1 -> 項目2 -> 項目3;
項目2 -> 項目4 [headport="w"];
項目2 -> 項目5 [headport="e"];
項目2 -> 項目6 [headport="s"];
}

実行コマンド
dot -Gviewport=400,300 -Gresolution=72 -Tpng graph19.dot -o test19.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Thursday, February 24, 2011

Graphvizで矢印のヘッドのラベルを指定する

Graphvizで矢印のヘッドのラベルを指定するには、以下のようにheadlabel attributeを使用します。

graph18.dot(UTF-8で保存)
digraph graph18
{
node [fontname="MS Gothic"];
項目1 -> 項目2 -> 項目3;
項目2 -> 項目4 [headlabel="one to many"];
}

実行コマンド
dot -Gviewport=200,200 -Gresolution=72 -Tpng graph18.dot -o test18.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Tuesday, February 22, 2011

Graphvizでエッジがランキングに使用されないように指定する

Graphvizでエッジがランキングに使用されないように指定するには、以下のようにconstraint attributeを使用します。

graph17.dot(UTF-8で保存)
digraph graph17
{
node [fontname="MS Gothic"];
項目1 -> 項目2 -> 項目3;
項目2 -> 項目4 [constraint=false];
項目4 -> 項目5;
項目5 -> 項目6;
項目6 -> 項目7 [constraint=false];
}

実行コマンド
dot -Gviewport=300,200 -Gresolution=72 -Tpng graph17.dot -o test17.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Sunday, February 20, 2011

Graphvizで双方向の矢印の色を指定する

Graphvizで双方向の矢印の色を指定するには、以下のように値が:で区切られたcolor attributeを使用します。

graph16.dot(UTF-8で保存)
digraph graph16
{
node [fontname="MS Gothic"];
項目1 -> 項目2 -> 項目3;
項目2 -> 項目4 [dir="both", color="#eeaa00:#7799dd"];
}

実行コマンド
dot -Gviewport=200,200 -Gresolution=72 -Tpng graph16.dot -o test16.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Friday, February 18, 2011

Graphvizで双方向の矢印を描画する

Graphvizで双方向の矢印を描画するには、以下のようにdir attributeを使用します。

graph15.dot(UTF-8で保存)
digraph graph15
{
node [fontname="MS Gothic"];
項目1 -> 項目2 -> 項目3;
項目2 -> 項目4 [dir="both"];
}

実行コマンド
dot -Gviewport=200,200 -Gresolution=72 -Tpng graph15.dot -o test15.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Wednesday, February 16, 2011

Graphvizで矢印の大きさを指定する

Graphvizで矢印の大きさを指定するには、以下のようにarrowsize attributeを使用します。

graph14.dot(UTF-8で保存)
digraph graph14
{
node [fontname="MS Gothic"];
項目1 -> 項目2 -> 項目3;
項目2 -> 項目4 [arrowsize=2];
}

実行コマンド
dot -Gviewport=200,200 -Gresolution=72 -Tpng graph14.dot -o test14.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Monday, February 14, 2011

Graphvizで矢印を描画する

Graphvizで矢印を描画するには、以下のようにdigraphと->を使用します。

graph13.dot(UTF-8で保存)
digraph graph13
{
node [fontname="MS Gothic"];
項目1 -> 項目2 -> 項目3;
項目2 -> 項目4;
}

実行コマンド
dot -Gviewport=200,200 -Gresolution=72 -Tpng graph13.dot -o test13.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Sunday, February 13, 2011

VPythonで光源の向きを設定する

VPythonで光源の向きを設定するには、以下のコードを実行します。

# coding=UTF-8
from visual import *
# 立方体を作成
box1 = box(pos=(0, 0, 0), length=6, width=6, height=0.5,
color=(0xff/255.,0xff/255.,0xff/255.))
# 球を作成
sphere1 = sphere(pos=(0, 1.5, 0), radius=1,
color=(0xff/255.,0xff/255.,0xff/255.))
# カメラが見る点を指定
scene.center = (0,2,0)
# 緑色の下向きの光源を設定
lamp1 = distant_light(direction=(0, 1, 0),
color=color.green)
# 青色の左向きの光源を設定
lamp2 = distant_light(direction=(1, 0, 0),
color=color.blue)


実行画面


動作環境
Python 3.1.3, VPython 5.41

Friday, February 11, 2011

Graphvizでノードの形を指定する

Graphvizでノードの形を指定するには、以下のようにshape attributeを使用します。

graph12.dot(UTF-8で保存)
graph graph12
{
node [fontname="MS Gothic"];
項目2[shape="folder"];
項目3[shape="box"];
項目4[shape="note"];
項目1 -- 項目2 -- 項目3;
項目2 -- 項目4;
}

実行コマンド
dot -Gviewport=200,200 -Gresolution=72 -Tpng graph12.dot -o test12.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Thursday, February 10, 2011

VPythonで点光源を設定する

VPythonで点光源を設定するには、以下のコードを実行します。

# coding=UTF-8
from visual import *
# 立方体を作成
box1 = box(pos=(0, 0, 0), length=6, width=6, height=0.5,
color=(0xff/255.,0xff/255.,0xff/255.))
# 球を作成
sphere1 = sphere(pos=(0, 1.5, 0), radius=1,
color=(0xff/255.,0xff/255.,0xff/255.))
# カメラが見る点を指定
scene.center = (0,2,0)
# 緑色の点光源を設定
lamp1 = local_light(pos=(-2, 1.5, 0), color=color.green)
# 青色の点光源を設定
lamp2 = local_light(pos=(2, 1.5, 0), color=color.blue)


実行画面


動作環境
Python 3.1.3, VPython 5.41

Tuesday, February 08, 2011

Graphvizでグラフの方向を変える

Graphvizでグラフの方向を変えるには、以下のようにrankdir attributeを使用します。

graph11.dot(UTF-8で保存)
graph graph11
{
graph[rankdir="LR"];
node [fontname="MS Gothic"];
項目1 -- 項目2 -- 項目3;
項目2 -- 項目4;
}

実行コマンド
dot -Gviewport=300,200 -Gresolution=72 -Tpng graph11.dot -o test11.png

出力画像


動作環境
Graphviz 2.26.3

関連情報
Graphvizまとめ
graphvizのサイト
http://graphviz.org/

Monday, February 07, 2011

VPythonでカメラを向ける位置を設定する

VPythonでカメラを向ける位置を設定するには、以下のコードを実行します。

# coding=UTF-8
from visual import *
# 立方体を作成
box1 = box(pos=(0, 0, 0), length=6, width=6, height=0.5,
color=(0x99/255.,0xdd/255.,0xff/255.))
# 球を作成
sphere1 = sphere(pos=(0, 1.5, 0), radius=1,
color=(0x99/255.,0xdd/255.,0xff/255.))
# カメラを向ける位置を指定
scene.center = (0,2,0)


実行画面


動作環境
Python 3.1.3, VPython 5.41