pycairoをWindowsにインストールするには、以下の設定を行います。
1.ファイルの入手
Python(既にインストールしてあれば必要なし)
http://www.python.org/download/
Python 2.6.1 Windows installer (Windows binary -- does not include source)
GTK+
http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.16/
gtk+-bundle_2.16.0-20090317_win32.zip
pycairo
http://ftp.gnome.org/pub/gnome/binaries/win32/pycairo/1.4/
pycairo-1.4.12-2.win32-py2.6.exe
2.Pythonのインストール(既にインストールしてあれば必要なし)
python-2.6.1.msiを実行してpythonをインストール
3.pycairoのインストール
pycairo-1.4.12-2.win32-py2.6.exeを実行してpycairoをインストール
4.GTK+のインストール
gtk+-bundle_2.16.0-20090317_win32.zipを解凍
<解凍したディレクトリ>\gtk+-bundle_2.16.0-20090317_win32\binをパスに追加
コマンドプロンプトで以下のコマンドを入力
pkg-config --cflags gtk+-2.0
5.おしまい
pycairoを使用して、以下のコードで直線を描画できます。
# coding=UTF-8
import cairo
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 200, 200)
ctx = cairo.Context(surface)
ctx.set_source_rgb(0xbb/float(0xff), 0xdd/float(0xff), 0xff/float(0xff))
ctx.move_to(0,0)
ctx.line_to(200,200)
ctx.set_line_width(10)
ctx.stroke()
surface.write_to_png('sample998a.png')
出力画像
関連項目
pycairoのまとめ
pycairoで点線を描画する
Saturday, March 28, 2009
ImageMagickで立体的な吹き出しを描画する
ImageMagickで立体的な吹き出しを描画するには、以下のバッチファイルを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.8-Q16
%im%\convert.exe sf.jpg ( -size 200x200 xc:none -fill white -draw "ellipse 100,80,50,30,0,360 polygon 80,100,90,120, 90,100" -shade 135x23 -blur 0x2 -normalize -matte -channel rgba ) -font Tahoma -pointsize 14 -draw "text 60,85 'San Francisco'" -compose overlay -composite sample906b.png
元画像(sf.jpg)
出力画像(sample906b.png)
関連項目
ImageMagickで、半透明グラデーションの吹き出しを描画する
ImageMagickで、明度を変えた吹き出しを描画する
ImageMagickとPHPで立体的な吹き出しを描画する (Imagickによる同様の処理)
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.8-Q16
%im%\convert.exe sf.jpg ( -size 200x200 xc:none -fill white -draw "ellipse 100,80,50,30,0,360 polygon 80,100,90,120, 90,100" -shade 135x23 -blur 0x2 -normalize -matte -channel rgba ) -font Tahoma -pointsize 14 -draw "text 60,85 'San Francisco'" -compose overlay -composite sample906b.png
元画像(sf.jpg)
出力画像(sample906b.png)
関連項目
ImageMagickで、半透明グラデーションの吹き出しを描画する
ImageMagickで、明度を変えた吹き出しを描画する
ImageMagickとPHPで立体的な吹き出しを描画する (Imagickによる同様の処理)
groovyで画像の減色をする
groovyで画像の減色をするには、以下のコードを実行します。
元画像(sf.jpg)
出力画像(sample833a.png)
動作環境
Groovy1.6.0 Beta2, JDK1.6 Update11
import groovy.swing.j2d.*
def gr = new GraphicsRenderer()
gr.renderToFile("sample833a.png", 200, 200){
antialias("on")
rect( x: 0, y: 0, width: 200, height: 200,
borderColor: no){
texturePaint(x: 0, y: 0, file: 'sf.jpg' )
filters {
quantize(numColors: 64)
}
}
}
元画像(sf.jpg)
出力画像(sample833a.png)
動作環境
Groovy1.6.0 Beta2, JDK1.6 Update11
Friday, March 27, 2009
groovyで画像の端を折る
groovyで画像の端を折るには、以下のコードを実行します。
元画像(sf.jpg)
出力画像(sample837a.png)
動作環境
Groovy1.6.0 Beta2, JDK1.6 Update11
関連項目
Java2DとJava Image Filters(pixels)を使用して画像に折り目をつける
import groovy.swing.j2d.*
def gr = new GraphicsRenderer()
gr.renderToFile("sample837a.png", 200, 200){
antialias("on")
rect( x: 0, y: 0, width: 200, height: 200,
borderColor: no){
texturePaint(x: 0, y: 0, file: 'sf.jpg' )
filters {
curl(transition:0.1, angle:210, radius:4 )
}
}
}
元画像(sf.jpg)
出力画像(sample837a.png)
動作環境
Groovy1.6.0 Beta2, JDK1.6 Update11
関連項目
Java2DとJava Image Filters(pixels)を使用して画像に折り目をつける
Thursday, March 26, 2009
groovyで画像を拡散させる
groovyで画像を拡散させるには、以下のコードを実行します。
元画像(sf2.jpg)
出力画像(sample832a.png)
動作環境
Groovy1.6.0 Beta2, JDK1.6 Update11
関連項目
ScriptomとImageMagickで画像を拡散させる (ScriptomとImageMagickでの同様の処理)
Java2DとJava Image Filters(pixels)を使用して画像を拡散させる
import groovy.swing.j2d.*
def gr = new GraphicsRenderer()
gr.renderToFile("sample832a.png", 300, 225){
antialias("on")
rect( x: 0, y: 0, width: 300, height: 225,
borderColor: no){
texturePaint(x: 0, y: 0, file: 'sf2.jpg' )
filters {
diffuse(scale: 10)
}
}
}
元画像(sf2.jpg)
出力画像(sample832a.png)
動作環境
Groovy1.6.0 Beta2, JDK1.6 Update11
関連項目
ScriptomとImageMagickで画像を拡散させる (ScriptomとImageMagickでの同様の処理)
Java2DとJava Image Filters(pixels)を使用して画像を拡散させる
Wednesday, March 25, 2009
ImageMagickとPHPで画像に半透明の濃淡をつける
Imagickで画像に半透明の濃淡をつけるには、以下のコードを実行します。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja" dir="ltr">
<head>
<title>sample910(ImageMagick6.4.8)</title>
</head>
<body>
<?php
/* 画像に半透明の濃淡をつける */
$im = new Imagick("sf.jpg");
/* プラズマフラクタル画像 */
$im2 = new Imagick();
$im2->newPseudoImage($im->getImageWidth(),
$im->getImageHeight(), 'plasma:fractal');
$im2->setImageColorspace(Imagick::COLORSPACE_GRAY);
$im2->setImageMatte(true);
$im3 = $im2->fxImage("r", Imagick::CHANNEL_ALPHA);
/* 切り取り */
$im3->compositeImage($im, Imagick::COMPOSITE_IN, 0, 0,
Imagick::CHANNEL_ALL);
$im3->writeImage('sample910a.png');
/* 他の画像と重ね合わせ */
$im4 = new Imagick();
$im4->newPseudoImage($im->getImageWidth(),
$im->getImageHeight(), "pattern:CHECKERBOARD");
/* 重ね合わせ */
$im4->compositeImage($im3, Imagick::COMPOSITE_OVER, 0, 0,
Imagick::CHANNEL_ALL);
$im4->writeImage('sample910b.png');
$im4->destroy();
$im3->destroy();
$im2->destroy();
$im->destroy();
?>
<img src="sample910a.png" /><br />
<img src="sample910b.png" /><br />
</body>
</html>
元画像(sf.jpg)
出力画像1(sample910a.png)
出力画像2(sample910b.png)
関連項目
ImageMagickで、画像に半透明の濃淡をつけて重ね合わせる (convertコマンドによる同様の処理)
ImageMagickとPHPを使用して画像に濃淡をつける
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja" dir="ltr">
<head>
<title>sample910(ImageMagick6.4.8)</title>
</head>
<body>
<?php
/* 画像に半透明の濃淡をつける */
$im = new Imagick("sf.jpg");
/* プラズマフラクタル画像 */
$im2 = new Imagick();
$im2->newPseudoImage($im->getImageWidth(),
$im->getImageHeight(), 'plasma:fractal');
$im2->setImageColorspace(Imagick::COLORSPACE_GRAY);
$im2->setImageMatte(true);
$im3 = $im2->fxImage("r", Imagick::CHANNEL_ALPHA);
/* 切り取り */
$im3->compositeImage($im, Imagick::COMPOSITE_IN, 0, 0,
Imagick::CHANNEL_ALL);
$im3->writeImage('sample910a.png');
/* 他の画像と重ね合わせ */
$im4 = new Imagick();
$im4->newPseudoImage($im->getImageWidth(),
$im->getImageHeight(), "pattern:CHECKERBOARD");
/* 重ね合わせ */
$im4->compositeImage($im3, Imagick::COMPOSITE_OVER, 0, 0,
Imagick::CHANNEL_ALL);
$im4->writeImage('sample910b.png');
$im4->destroy();
$im3->destroy();
$im2->destroy();
$im->destroy();
?>
<img src="sample910a.png" /><br />
<img src="sample910b.png" /><br />
</body>
</html>
元画像(sf.jpg)
出力画像1(sample910a.png)
出力画像2(sample910b.png)
関連項目
ImageMagickで、画像に半透明の濃淡をつけて重ね合わせる (convertコマンドによる同様の処理)
ImageMagickとPHPを使用して画像に濃淡をつける
Tuesday, March 24, 2009
groovyで反射した水面のような画像を生成する
groovyで反射した水面のような画像を生成するには、以下のコードを実行します。
動作環境
Groovy1.6.0 Beta2, JDK1.6 Update11
関連項目
Java2DとJava Image Filters(pixels)を使用して反射した水面のような画像を生成する
import groovy.swing.j2d.*
def gr = new GraphicsRenderer()
gr.renderToFile("sample838a.png", 200, 200){
antialias("on")
rect( x: 0, y: 0, width: 200, height: 200,
borderColor: no){
filters {
caustics(scale:32, brightness:15,
turbulence:0.9, amount:1.1, dispersion:1.0,
time: 0.1, samples:10 )
}
}
}
動作環境
Groovy1.6.0 Beta2, JDK1.6 Update11
関連項目
Java2DとJava Image Filters(pixels)を使用して反射した水面のような画像を生成する
ImageMagickで画像から立体的なタイル画像に変換する
ImageMagickで画像から立体的なタイル画像に変換するには、以下のバッチファイルを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.8-Q16
rem 角丸四角のタイルパターン作成
%im%\convert.exe -size 40x40 xc:black -fill white -draw "roundrectangle 2,2,37,37,4,4" sample905a.png
%im%\convert.exe -size 200x200 tile:sample905a.png -matte -channel a -fx "r" sample905b.png
%im%\convert.exe sample905b.png -matte -channel rgba sf.jpg -compose src_in -composite -modulate 140 -colorspace gray -fill #fad759 -colorize 50%% ( sample905b.png -shade 135x23 -blur 0x2 -normalize -matte -channel rgba ) -swap 0,1 -compose overlay -composite sample905c.png
元画像(sf.jpg)
出力画像(sample905c.png)
関連項目
ImageMagickで画像を角丸四角タイルパターンで切り取る
ImageMagickで画像をグレースケールの立体的な角丸四角に変換する
RMagickで画像を立体的なタイル風に変換する (RMagickによる同様の処理)
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.8-Q16
rem 角丸四角のタイルパターン作成
%im%\convert.exe -size 40x40 xc:black -fill white -draw "roundrectangle 2,2,37,37,4,4" sample905a.png
%im%\convert.exe -size 200x200 tile:sample905a.png -matte -channel a -fx "r" sample905b.png
%im%\convert.exe sample905b.png -matte -channel rgba sf.jpg -compose src_in -composite -modulate 140 -colorspace gray -fill #fad759 -colorize 50%% ( sample905b.png -shade 135x23 -blur 0x2 -normalize -matte -channel rgba ) -swap 0,1 -compose overlay -composite sample905c.png
元画像(sf.jpg)
出力画像(sample905c.png)
関連項目
ImageMagickで画像を角丸四角タイルパターンで切り取る
ImageMagickで画像をグレースケールの立体的な角丸四角に変換する
RMagickで画像を立体的なタイル風に変換する (RMagickによる同様の処理)
groovyで木目調の画像を生成する
groovyで木目調の画像を生成するには、以下のコードを実行します。
出力画像(sample831a.png)
動作環境
Groovy1.6.0 Beta2, JDK1.6 Update11
関連項目
Java2DとJava Image Filters(pixels)を使用して木目調の画像を生成する
import groovy.swing.j2d.*
def gr = new GraphicsRenderer()
gr.renderToFile("sample831a.png", 200, 200){
antialias("on")
rect( x: 0, y: 0, width: 200, height: 200,
borderColor: no){
filters {
wood(rings: 0.5, scale:200, stretch:8.0, angle:10, turbulence:0.2, fibres:0.5)
}
}
}
出力画像(sample831a.png)
動作環境
Groovy1.6.0 Beta2, JDK1.6 Update11
関連項目
Java2DとJava Image Filters(pixels)を使用して木目調の画像を生成する
Monday, March 23, 2009
groovyで画像を水面下のようにゆらす
groovyで画像を水面下のようにゆらすには、以下のコードを実行します。
元画像(sf2.jpg)
出力画像(sample839a.png)
動作環境
Groovy1.6.0 Beta2, JDK1.6 Update11
関連項目
Java2DとJava Image Filters(pixels)を使用して画像を水面下のように揺らす
import groovy.swing.j2d.*
def gr = new GraphicsRenderer()
gr.renderToFile("sample839a.png", 300, 225){
antialias("on")
rect( x: 0, y: 0, width: 300, height: 225,
borderColor: no){
texturePaint(x: 0, y: 0, file: 'sf2.jpg' )
filters {
swim(amount: 10, scale:32, stretch:10,
angle:10, turbulence:1.0, time: 0.1)
}
}
}
元画像(sf2.jpg)
出力画像(sample839a.png)
動作環境
Groovy1.6.0 Beta2, JDK1.6 Update11
関連項目
Java2DとJava Image Filters(pixels)を使用して画像を水面下のように揺らす
Sunday, March 22, 2009
groovyで画像にグローフィルタをかける
groovyで画像にグローフィルタをかけるには、以下のコードを実行します。
元画像(sf2.jpg)
出力画像(sample830a.png)
動作環境
Groovy1.6.0 Beta2, JDK1.6 Update11
関連項目
Java2DとJava Image Filters(pixels)を使用して画像にグローフィルタをかける
import groovy.swing.j2d.*
def gr = new GraphicsRenderer()
gr.renderToFile("sample830a.png", 300, 225){
antialias("on")
rect( x: 0, y: 0, width: 300, height: 225,
borderColor: no){
texturePaint(x: 0, y: 0, file: 'sf2.jpg' )
filters {
glow(amount: 0.3)
}
}
}
元画像(sf2.jpg)
出力画像(sample830a.png)
動作環境
Groovy1.6.0 Beta2, JDK1.6 Update11
関連項目
Java2DとJava Image Filters(pixels)を使用して画像にグローフィルタをかける