Wednesday, October 27, 2010

JavaとThumbnailatorで着色したサムネイルを作成する

JavaとThumbnailatorで着色したサムネイルを作成するには、以下のコードを実行します。

import java.awt.*;
import java.io.*;
import net.coobird.thumbnailator.*;
import net.coobird.thumbnailator.filters.*;

public class Thumbnailator3
{
public static void main(String args[])
throws IOException
{
Thumbnails.of(new File("SF.JPG"))
.addFilter(new Colorize(Color.BLACK, 0.5f))
.size(150, 150)
.toFile(new File("SF_GRAY.JPG"));
}
}


元画像(SF.JPG)


出力画像(SF_GRAY.JPG)


動作環境
JDK6 Update21, Thumbnailator 0.24

関連情報
Thumbnailatorのwebsite
http://code.google.com/p/thumbnailator/

Friday, October 22, 2010

JavaとThumbnailatorでキャプション付のサムネイルを作成する

JavaとThumbnailatorでキャプション付のサムネイルを作成するには、以下のコードを実行します。

import java.awt.*;
import java.io.*;
import net.coobird.thumbnailator.*;
import net.coobird.thumbnailator.filters.*;

public class Thumbnailator2
{
public static void main(String args[])
throws IOException
{
Thumbnails.of(new File("SF.JPG"))
.addFilter(new Caption("サンフランシスコ",
new Font("MS ゴシック", java.awt.Font.PLAIN, 14),
Color.WHITE, 1.0f, Positions.BOTTOM_CENTER, 2))
.size(150, 150)
.toFile(new File("SF_CAPTION.JPG"));
}
}


元画像(SF.JPG)


出力画像(SF_CAPTION.JPG)


動作環境
JDK6 Update21, Thumbnailator 0.24

関連情報
Thumbnailatorのwebsite
http://code.google.com/p/thumbnailator/

Sunday, October 17, 2010

GroovyとThumbnailatorで着色したサムネイルを作成する

GroovyとThumbnailatorで着色したサムネイルを作成するには、以下のコードを実行します。

import java.awt.*
import net.coobird.thumbnailator.*
import net.coobird.thumbnailator.filters.*

Thumbnails.of(new File("SF.JPG"))
.addFilter(new Colorize(Color.BLACK, 0.5f))
.size(150, 150)
.toFile(new File("SF_GRAY.JPG"))


元画像(SF.JPG)


出力画像(SF_GRAY.JPG)


動作環境
Groovy 1.7.4, JDK6 Update21, Thumbnailator 0.24

関連情報
Thumbnailatorのwebsite
http://code.google.com/p/thumbnailator/

JavaとThumbnailatorでサムネイルを作成する

JavaとThumbnailatorでサムネイルを作成するには、以下のコードを実行します。

import java.io.*;
import net.coobird.thumbnailator.*;

public class Thumbnailator1
{
public static void main(String args[])
throws IOException
{
Thumbnails.of(new File("SF.JPG"))
.size(100, 100)
.toFile(new File("SF_THUMBNAIL.JPG"));
}
}


元ファイル(SF.JPG)


出力ファイル(SF_THUMBNAIL.JPG)


動作環境
JDK6 Update21, Thumbnailator 0.24

関連情報
Thumbnailatorのwebsite
http://code.google.com/p/thumbnailator/

Sunday, May 30, 2010

groovyとApache Commons Sanselanで画像のメタデータを一覧表示する

groovyとApache Commons Sanselanで画像のメタデータを一覧表示するには、以下のコードを実行します。

import org.apache.sanselan.*

// メタデータ情報を一覧表示する
for( item in Sanselan.getMetadata(new File("your.JPG")).items ){
println item.toString()
}


動作環境
groovy 1.7.1, JDK6 Update19, Apache Commons Sanselan 0.97

関連情報
Apache Commons Sanselanのページ
http://commons.apache.org/sanselan/index.html

Thursday, May 20, 2010

groovyとApache Commons Sanselanで画像フォーマットを推測する

groovyとApache Commons Sanselanで画像フォーマットを推測するには、以下のコードを実行します。

import org.apache.sanselan.*

// フォーマットを推測
println Sanselan.guessFormat(new File("SF.BMP"))
println Sanselan.guessFormat(new File("SF.PNG"))
println Sanselan.guessFormat(new File("SF.TIF"))
println Sanselan.guessFormat(new File("SF.JPG"))
// PNGの拡張子をDATに変換したファイルSF.DAT->PNGとして推測した
println Sanselan.guessFormat(new File("SF.DAT"))


動作環境
groovy 1.7.1, JDK6 Update19, Apache Commons Sanselan 0.97

関連情報
Apache Commons Sanselanのページ
http://commons.apache.org/sanselan/index.html

Monday, May 10, 2010

groovyとApache Commons SanselanでBMPイメージをPNGに変換する

groovyとApache Commons SanselanでBMPイメージをPNGに変換するには、以下のコードを実行します。

import org.apache.sanselan.*

// BMPの読み込み
img = Sanselan.getBufferedImage(new File("SF.BMP"))

// PNGの書き込み
Sanselan.writeImage(img, new File("SF.PNG"),
ImageFormat.IMAGE_FORMAT_PNG, new HashMap())


動作環境
groovy 1.7.1, JDK6 Update19, Apache Commons Sanselan 0.97

関連情報
Apache Commons Sanselanのページ
http://commons.apache.org/sanselan/index.html

Sunday, March 28, 2010

PyOpenGLでワイヤーフレームの20面体を描画する

PyOpenGLでワイヤーフレームの20面体を描画するには、以下のコードを実行します。


#coding:utf-8
import sys
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *

def display():
glEnable(GL_DEPTH_TEST)
glEnable(GL_COLOR_MATERIAL)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glPushMatrix()
gluLookAt(0,1,10, 0,0,0, 0,1,0)
glRotatef(-10, 0.0, 1.0, 0.0)
glColor3f(float(0xbb)/0xff, float(0xdd)/0xff, 0xff/0xff)
glScalef(3, 3, 3)
glutWireIcosahedron()
glPopMatrix()
glFlush()

def reshape(w,h):
glViewport(0, 0, w, h)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(45, w/h, 1, 100)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()

glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH)
glutInitWindowSize(200, 200)
glutCreateWindow('pyopengl')
glutReshapeFunc(reshape)
glutDisplayFunc(display)
glutMainLoop()


出力画像


動作環境
python2.6.4, PyOpenGL3.0.0

Saturday, March 27, 2010

PyOpenGLで20面体を描画する

PyOpenGLで20面体を描画するには、以下のコードを実行します。


#coding:utf-8
import sys
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *

def display():
glEnable(GL_LIGHTING)
glEnable(GL_LIGHT0)
glEnable(GL_DEPTH_TEST)
glEnable(GL_COLOR_MATERIAL)
glEnable(GL_NORMALIZE)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glPushMatrix()
gluLookAt(0,1,10, 0,0,0, 0,1,0)
glRotatef(-10, 0.0, 1.0, 0.0)
glColor3f(float(0xbb)/0xff, float(0xdd)/0xff, 0xff/0xff)
glScalef(3, 3, 3)
glutSolidIcosahedron()
glPopMatrix()
glFlush()

def reshape(w,h):
glViewport(0, 0, w, h)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(45, w/h, 1, 100)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()

glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH)
glutInitWindowSize(200, 200)
glutCreateWindow('pyopengl')
glutReshapeFunc(reshape)
glutDisplayFunc(display)
glutMainLoop()


出力画像


動作環境
python2.6.4, PyOpenGL3.0.0

Friday, March 26, 2010

PyOpenGLでワイヤーフレームの8面体を描画する

PyOpenGLでワイヤーフレームの8面体を描画するには、以下のコードを実行します。


#coding:utf-8
import sys
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *

def display():
glEnable(GL_DEPTH_TEST)
glEnable(GL_COLOR_MATERIAL)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glPushMatrix()
gluLookAt(0,1,10, 0,0,0, 0,1,0)
glRotatef(-10, 0.0, 1.0, 0.0)
glColor3f(float(0xbb)/0xff, float(0xdd)/0xff, 0xff/0xff)
glScalef(3, 3, 3)
glutWireOctahedron()
glPopMatrix()
glFlush()

def reshape(w,h):
glViewport(0, 0, w, h)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(45, w/h, 1, 100)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()

glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH)
glutInitWindowSize(200, 200)
glutCreateWindow('pyopengl')
glutReshapeFunc(reshape)
glutDisplayFunc(display)
glutMainLoop()


出力画像


動作環境
python2.6.4, PyOpenGL3.0.0

Thursday, March 25, 2010

PyOpenGLで8面体を描画する

PyOpenGLで8面体を描画するには、以下のコードを実行します。


#coding:utf-8
import sys
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *

def display():
glEnable(GL_LIGHTING)
glEnable(GL_LIGHT0)
glEnable(GL_DEPTH_TEST)
glEnable(GL_COLOR_MATERIAL)
glEnable(GL_NORMALIZE)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glPushMatrix()
gluLookAt(0,1,10, 0,0,0, 0,1,0)
glRotatef(-10, 0.0, 1.0, 0.0)
glColor3f(float(0xbb)/0xff, float(0xdd)/0xff, 0xff/0xff)
glScalef(3, 3, 3)
glutSolidOctahedron()
glPopMatrix()
glFlush()

def reshape(w,h):
glViewport(0, 0, w, h)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(45, w/h, 1, 100)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()

glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH)
glutInitWindowSize(200, 200)
glutCreateWindow('pyopengl')
glutReshapeFunc(reshape)
glutDisplayFunc(display)
glutMainLoop()


出力画像


動作環境
python2.6.4, PyOpenGL3.0.0

Wednesday, March 24, 2010

Java2DとJava Image Filters(pixels)を使用してノイズの付いたグレースケール画像に変換する

Java2DとJava Image Filters(pixels)を使用してノイズの付いたグレースケール画像に変換するには、以下のコードを実行します。


import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import com.jhlabs.composite.*;
import com.jhlabs.image.*;

public class Java2DTest79
{
public static void main(String args[])
throws Exception
{
/* グレースケールのノイズのついた画像に変換する */
BufferedImage img = ImageIO.read(new File("sf.jpg"));
BufferedImage imga = new BufferedImage(
img.getWidth(), img.getHeight(),
BufferedImage.TYPE_INT_ARGB
);

NoiseFilter nf = new NoiseFilter();
img = nf.filter(img, imga);

GrayscaleFilter grf = new GrayscaleFilter();
img = grf.filter(img, null);

DiffuseFilter df = new DiffuseFilter();
df.setScale(1);
img = df.filter(img, null);

ImageIO.write(img, "png", new File("sample1980a.png"));
}
}


元画像(sf.jpg)


出力画像(sample1980a.png)


関連項目
Jerry Huxtableさんのホームページ
http://www.jhlabs.com/index.html
Java Image Filtersのページ
http://www.jhlabs.com/ip/filters/
java.net でのプロジェクトページ
https://pixels.dev.java.net/

Tuesday, March 23, 2010

PyOpenGLでワイヤーフレームの球を描画する

PyOpenGLでワイヤーフレームの球を描画するには、以下のコードを実行します。


#coding:utf-8
import sys
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *

def display():
glEnable(GL_DEPTH_TEST)
glEnable(GL_COLOR_MATERIAL)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glPushMatrix()
gluLookAt(0,4,10, 0,0,0, 0,1,0)
glColor3f(float(0xbb)/0xff, float(0xdd)/0xff, 0xff/0xff)
glutWireSphere(3.5, 32, 32)
glPopMatrix()
glFlush()

def reshape(w,h):
glViewport(0, 0, w, h)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(45, w/h, 1, 100)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()

glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH)
glutInitWindowSize(200, 200)
glutCreateWindow('pyopengl')
glutReshapeFunc(reshape)
glutDisplayFunc(display)
glutMainLoop()


出力画像


動作環境
python2.6.4, PyOpenGL3.0.0

Monday, March 22, 2010

Java2DとJava Image Filters(pixels)を使用して画像を織物風に変換する

Java2DとJava Image Filters(pixels)を使用して画像を織物風に変換するには、以下のコードを実行します。


import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import com.jhlabs.composite.*;
import com.jhlabs.image.*;

public class Java2DTest77
{
public static void main(String args[])
throws Exception
{
/* 織物風に変換 */
BufferedImage img = ImageIO.read(new File("sf.jpg"));
BufferedImage imga = new BufferedImage(
img.getWidth(), img.getHeight(),
BufferedImage.TYPE_INT_ARGB
);

WeaveFilter wf = new WeaveFilter();
img = wf.filter(img, imga);

ImageIO.write(img, "png", new File("sample1978a.png"));
}
}


元画像(sf.jpg)


出力画像(sample1978a.png)
織物風に変換した画像

関連項目
Jerry Huxtableさんのホームページ
http://www.jhlabs.com/index.html
Java Image Filtersのページ
http://www.jhlabs.com/ip/filters/
java.net でのプロジェクトページ
https://pixels.dev.java.net/

Sunday, March 21, 2010

PyOpenGLで球を描画する

PyOpenGLで球を描画するには以下のコードを実行します。


#coding:utf-8
import sys
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *

def display():
glEnable(GL_LIGHTING)
glEnable(GL_LIGHT0)
glEnable(GL_DEPTH_TEST)
glEnable(GL_COLOR_MATERIAL)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glPushMatrix()
gluLookAt(0,4,10, 0,0,0, 0,1,0)
glColor3f(float(0xbb)/0xff, float(0xdd)/0xff, 0xff/0xff)
glutSolidSphere(3.5, 32, 32)
glPopMatrix()
glFlush()

def reshape(w,h):
glViewport(0, 0, w, h)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(45, w/h, 1, 100)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()

glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH)
glutInitWindowSize(200, 200)
glutCreateWindow('pyopengl')
glutReshapeFunc(reshape)
glutDisplayFunc(display)
glutMainLoop()


出力画像


動作環境
python2.6.4, PyOpenGL3.0.0

Saturday, March 20, 2010

Java2DとJava Image Filters(pixels)を使用して画像を滲んだ感じに変換する

Java2DとJava Image Filters(pixels)を使用して画像を滲んだ感じに変換するには、以下のコードを実行します。


import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import com.jhlabs.composite.*;
import com.jhlabs.image.*;

public class Java2DTest75
{
public static void main(String args[])
throws Exception
{
/* 画像を滲んだ感じに変換 */
BufferedImage img = ImageIO.read(new File("sf2.jpg"));
BufferedImage imga = new BufferedImage(
img.getWidth(), img.getHeight(),
BufferedImage.TYPE_INT_ARGB
);

// 拡散
DiffuseFilter gf = new DiffuseFilter();
gf.setScale(2);
img = gf.filter(img, imga);

// ガウシアンブラー
GaussianFilter gaf = new GaussianFilter(3f);
img = gaf.filter(img, null);

BufferedImage img2 = ImageIO.read(new File("sf2.jpg"));
ContrastFilter ctf = new ContrastFilter();
ctf.setBrightness(0.7f);
ctf.setContrast(0.7f);
img2 = ctf.filter(img2, imga);

CompositeFilter cf = new CompositeFilter(
MiscComposite.getInstance(MiscComposite.DODGE, 0.5f));
BufferedImage img3 = cf.filter(img2, img);

ImageIO.write(img3, "png", new File("sample1976a.png"));
}
}


元画像(sf2.jpg)


出力画像(sample1976a.png)


関連項目
Jerry Huxtableさんのホームページ
http://www.jhlabs.com/index.html
Java Image Filtersのページ
http://www.jhlabs.com/ip/filters/
java.net でのプロジェクトページ
https://pixels.dev.java.net/

Friday, March 19, 2010

PyOpenGLでワイヤーフレームの4面体を描画する

PyOpenGLでワイヤーフレームの4面体を描画するには、以下のコードを実行します。


#coding:utf-8
import sys
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *

def display():
glEnable(GL_DEPTH_TEST)
glEnable(GL_COLOR_MATERIAL)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glPushMatrix()
gluLookAt(0,4,10, 0,0,0, 0,1,0)
glRotatef(-43, 0.0, 1.0, 0.0)
glColor3f(float(0xbb)/0xff, float(0xdd)/0xff, 0xff/0xff)
glScalef(4,4,4)
glutWireTetrahedron()
glPopMatrix()
glFlush()

def reshape(w,h):
glViewport(0, 0, w, h)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(45, w/h, 1, 100)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()

glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH)
glutInitWindowSize(200, 200)
glutCreateWindow('pyopengl')
glutReshapeFunc(reshape)
glutDisplayFunc(display)
glutMainLoop()


出力画像


動作環境
python2.6.4, PyOpenGL3.0.0

Thursday, March 18, 2010

Java2DとJava Image Filters(pixels)を使用して画像を手書き風に変換する

Java2DとJava Image Filters(pixels)を使用して画像を手書き風に変換するには、以下のコードを実行します。


import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import com.jhlabs.composite.*;
import com.jhlabs.image.*;

public class Java2DTest73
{
public static void main(String args[])
throws Exception
{
/* 手書き画像風に変換 */
BufferedImage img = ImageIO.read(new File("sf2.jpg"));
BufferedImage imga = new BufferedImage(
img.getWidth(), img.getHeight(),
BufferedImage.TYPE_INT_ARGB
);
// 拡散
DiffuseFilter gf = new DiffuseFilter();
gf.setScale(3);
img = gf.filter(img, imga);

// モーションブラー
MotionBlurFilter mbf = new MotionBlurFilter(12f, 100f, 0.0f, 0.0f);
img = mbf.filter(img, null);

BufferedImage img2 = new BufferedImage(
img.getWidth(), img.getHeight(),
BufferedImage.TYPE_INT_ARGB
);
ScratchFilter sf = new ScratchFilter();
sf.setAngle(10);
sf.setAngleVariation(0.08f);
sf.setColor(0xff808080);
sf.setDensity(3.9f);
sf.setLength(0.06f);
sf.setWidth(0.7f);
sf.setSeed(2010);

img2 = sf.filter(img2, null);

CompositeFilter cf = new CompositeFilter(
MiscComposite.getInstance(MiscComposite.ADD, 0.25f));

BufferedImage img5 = cf.filter(img2, img);

ImageIO.write(img5, "png", new File("sample1974a.png"));
}
}


元画像(sf2.jpg)


出力画像(sample1974a.png)
Java2DとJava Image Filtersで手書き風に変換した画像

関連項目
Jerry Huxtableさんのホームページ
http://www.jhlabs.com/index.html
Java Image Filtersのページ
http://www.jhlabs.com/ip/filters/
java.net でのプロジェクトページ
https://pixels.dev.java.net/

Wednesday, March 17, 2010

PyOpenGLで4面体を描画する

PyOpenGLで4面体を描画するには、以下のコードを実行します。


#coding:utf-8
import sys
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *

def display():
glEnable(GL_LIGHTING)
glEnable(GL_LIGHT0)
glEnable(GL_DEPTH_TEST)
glEnable(GL_COLOR_MATERIAL)
glEnable(GL_NORMALIZE)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glPushMatrix()
gluLookAt(0,4,10, 0,0,0, 0,1,0)
glRotatef(-43, 0.0, 1.0, 0.0)
glColor3f(float(0xbb)/0xff, float(0xdd)/0xff, 0xff/0xff)
glScalef(4,4,4)
glutSolidTetrahedron()
glPopMatrix()
glFlush()

def reshape(w,h):
glViewport(0, 0, w, h)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(45, w/h, 1, 100)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()

glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH)
glutInitWindowSize(200, 200)
glutCreateWindow('pyopengl')
glutReshapeFunc(reshape)
glutDisplayFunc(display)
glutMainLoop()


出力画像


動作環境
python2.6.4, PyOpenGL3.0.0

Tuesday, March 16, 2010

Java2DとJava Image Filters(pixels)を使用して画像をぼやけたセピア調に変換する

Java2DとJava Image Filters(pixels)を使用して画像をぼやけたセピア調に変換するには、以下のコードを実行します。


import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import com.jhlabs.composite.*;
import com.jhlabs.image.*;

public class Java2DTest71
{
public static void main(String args[])
throws Exception
{
/* 画像をぼやけたセピア調に変換する */
BufferedImage img = ImageIO.read(new File("sf2.jpg"));

// 拡散
DiffuseFilter gf = new DiffuseFilter();
gf.setScale(1);
BufferedImage img2 = gf.filter(img, null);
// メディアンフィルタ
MedianFilter mf = new MedianFilter();
img2 = mf.filter(img2, null);
// グレースケールフィルタ
GrayscaleFilter grf = new GrayscaleFilter();
img2 = grf.filter(img2, null);

// コントラストを150%
ContrastFilter ctf = new ContrastFilter();
ctf.setContrast(1.5f);
img2 = ctf.filter(img2, null);

BufferedImage img3 = new BufferedImage(
img.getWidth(), img.getHeight(),
BufferedImage.TYPE_INT_ARGB
);
FillFilter ff = new FillFilter(0xffffbb33);
BufferedImage img4 = ff.filter(img3, null);

CompositeFilter cf = new CompositeFilter(
MiscComposite.getInstance(MiscComposite.BLEND, 0.5f));

BufferedImage img5 = cf.filter(img2, img4);
ImageIO.write(img5, "png", new File("sample1972a.png"));
}
}


元画像(sf2.jpg)


出力画像(sample1972a.png)
Java2DとJava Image Filtersでぼやけたセピア調に変換した画像

関連項目
Jerry Huxtableさんのホームページ
http://www.jhlabs.com/index.html
Java Image Filtersのページ
http://www.jhlabs.com/ip/filters/
java.net でのプロジェクトページ
https://pixels.dev.java.net/