Wednesday, May 27, 2009

im4javaで画像に半透明の濃淡をつける

im4javaで画像に半透明の濃淡をつけるには、いかのコードを実行します。


import java.util.*;
import org.im4java.core.*;
import org.im4java.process.*;

// im4java-0.97.0-bin.tar.bz2を解凍してim4java-0.97.0.jarはclasspathに通す
public class Im4java19
{
public static void main(String args[])
throws Exception
{
try
{
// ConvertCmd convert = new ConvertCmd();
ImageCommand convert = new WindowsConvertCmd();

IMOperation op = new IMOperation();
op.seed().addRawArgs("6215");
op.size(200, 200).addRawArgs("plasma:fractal");
op.fx("lightness");
op.alpha("activate").channel("a").fx("r").channel("rgba");
op.addImage("sf.jpg");
op.compose("src_in").composite();
op.addImage("sample1085a.png");
convert.run(op);

op = new IMOperation();
op.size(200, 200).addRawArgs("pattern:checkerboard");
op.addImage("sample1085a.png");
op.composite();
op.addImage("sample1085b.png");
convert.run(op);
}
catch(CommandException cex)
{
System.out.println(cex.getErrorText());
cex.printStackTrace();
}
}

// im4java 0.97
static class WindowsConvertCmd extends ImageCommand
{
public WindowsConvertCmd()
{
setCommand("cmd");
setCommand("/c");
setCommand("convert");
/* another way
setCommand("C:\\Program Files\\ImageMagick-6.4.9-Q16\\convert");
*/
}
}
}


元画像(sf.jpg)


出力画像1(sample1085a.png)


出力画像2(sample1085b.png):半透明濃淡をつけた画像と市松模様の重ね合わせ


関連情報
im4javaのまとめ

ImageMagickで、画像に半透明の濃淡をつけて重ね合わせる

No comments: