Saturday, December 27, 2008

JMagickで手塗り風の四角を描画する

JMagickで手塗り風の四角を描画するには、以下のコードを実行します。


import java.awt.*;
import magick.*;

public class JMagickTest44
{
public static void main(String args[])
throws MagickException
{
/* 手塗り風の四角を描画する */
ImageInfo ii = new ImageInfo("xc:white");
ii.setSize("200x200");

DrawInfo di = new DrawInfo(ii);
di.setFill(new PixelPacket(0xbb*256, 0xdd*256, 0xff*256, 0));
di.setPrimitive("rectangle 10, 10, 189, 189");
MagickImage mi = new MagickImage(ii);
mi.drawImage(di);
mi = mi.spreadImage(3);
mi = mi.medianFilterImage(5);
mi.setFileName("sample725a.jpg");
mi.writeImage(new ImageInfo());
}
}


出力画像(sample725a.jpg)


環境
JDK6 Upadate6(JDK1.6.0_06)/jmagick-win-6.3.9-Q16

関連情報
JMagickまとめ

Friday, December 26, 2008

RMagickで画像を円形に切り取る

RMagickで画像を円形に切り取るには、以下のコードを実行します。

require 'RMagick'
include Magick

images1 = ImageList.new("sf.jpg")
images1.alpha = ActivateAlphaChannel
img2 = Image.new(images1.columns, images1.rows){
self.background_color = "none"
}

idr = Draw.new
idr.fill = "white"
idr.ellipse(images1.columns/2,images1.rows/2,
images1.columns/2,images1.rows/2,0,360)
idr.draw(img2);

img3 = images1.composite(img2, 0, 0, DstInCompositeOp);
img3.write("sample718a.png")

exit

元画像(sf.jpg)


出力画像(sample718a.png)


関連項目
RMagickで画像の指定した点から円形のバンド状に明るさを変える

Thursday, December 25, 2008

librsvgを使用して虹色の文字列を描画する

librsvgで虹色の文字列を描画するには、以下のsvgファイルを処理します。

rainbow.svg

<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="200" height="60">

<defs>
<linearGradient id="rainbowg" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="blue"/>
<stop offset="25%" stop-color="green"/>
<stop offset="50%" stop-color="yellow"/>
<stop offset="75%" stop-color="orange"/>
<stop offset="100%" stop-color="red"/>
</linearGradient>
</defs>

<text x="10" y="46" font-family="Arial" font-size="46"
fill="url(#rainbowg)">Rainbow
</text>
</svg>


コマンド
rsvg-convert rainbow.svg -f png -o sample731a.png

出力画像(sample731a.png)


関連項目
librsvgをwindowsで使用してSVGからPNG画像を生成する (librsvgをWindowsで使用する方法)

Wednesday, December 24, 2008

ImageMagickで不規則な筋状の画像を生成する

ImageMagickで不規則な筋状の画像を生成するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.4-Q16
%im%\convert.exe -size 200x200 plasma:fractal -fx "intensity" -normalize ( -size 1x1 xc:#3070A0FF xc:#ffffffff -append ) -fx "v.p{0,p}" -spread 2 -motion-blur 0x150+270 sample730a.png

※パターンを固定したい場合は、-seedオプションでシード値を指定します。

出力画像(sample730a.png)


関連項目
RMagickで不規則な筋状の画像を生成する
ImageMagickとPHPで不規則な筋状の画像を生成する (Imagickによる同様の処理)

Tuesday, December 23, 2008

RMagickで手塗り風の四角を描画する

RMagickで手塗り風の四角を描画するには、以下のコードを実行します。

require 'RMagick'
include Magick

sx = 200
sy = 200
px = 10
py = 10
# 白地画像作成
img = Image.new(sx, sy){
self.background_color = "white"
}
# 四角を描画
idr = Draw.new
idr.fill = "#bbddff"
idr.rectangle(px, py, sx-px, sy-py)
idr.draw(img);
# 拡散
img2 = img.spread(5);
# メディアンフィルタ
img3 = img2.median_filter(3)
img3.write("sample717a.png")

exit

出力画像(sample717a.png)


動作環境
ruby1.8.6-26/RMagick-2.3.0-ImageMagick-6.4.0-2-Q8

関連項目
ImageMagickで、手塗り風の四角を描画する (Convertコマンドでの同様の処理)
ImageMagickで手で切り取ったように不規則に画像を切り取る

Monday, December 22, 2008

ImageMagickで画像を3色のモノトーンにした画像に変換する

ImageMagickで画像を3色のモノトーンにした画像に変換するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.4-Q16

%im%\convert.exe -size 300x225 xc:none -fill white -draw "roundrectangle 0,0,94,224,10,10" -matte -channel rgba ( sf2.jpg -colorspace gray -fill #c06030 -colorize 30% ) -compose src_in -composite sample729a.png

%im%\convert.exe -size 300x225 xc:none -fill white -draw "roundrectangle 100,0,194,224,10,10" -matte -channel rgba ( sf2.jpg -colorspace gray -fill #50b030 -colorize 30% ) -compose src_in -composite sample729b.png

%im%\convert.exe -size 300x225 xc:none -fill white -draw "roundrectangle 200,0,294,224,10,10" -matte -channel rgba ( sf2.jpg -colorspace gray -fill #3040c0 -colorize 30% ) -compose src_in -composite sample729c.png

%im%\convert.exe sample729a.png sample729b.png sample729c.png -flatten sample729d.png

元画像(sf2.jpg)


出力画像(sample729d.png)