版权声明:转载时请务必保留以下作者信息和链接
作者:陈维(chenweionline@hotmail.com)作者的网站:http://www.chenwei.mobi
/***/
/**
*图像水平翻转。
*@parambufferedImage原图像。
*@return返回水平翻转后的图像。
*/

public
static
BufferedImageflipHorizontalJ2D(BufferedImagebufferedImage)
...
{
intwidth=bufferedImage.getWidth();
intheight=bufferedImage.getHeight();
BufferedImagedstImage=newBufferedImage(width,height,bufferedImage.getType());
AffineTransformaffineTransform=newAffineTransform(-1,0,0,1,width,0);
AffineTransformOpaffineTransformOp=newAffineTransformOp(affineTransform,AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
returnaffineTransformOp.filter(bufferedImage,dstImage);
}


/***/
/**
*图像竖直翻转。
*@parambufferedImage原图像。
*@return返回竖直翻转后的图像。
*/

public
static
BufferedImageflipVerticalJ2D(BufferedImagebufferedImage)
...
{
intwidth=bufferedImage.getWidth();
intheight=bufferedImage.getHeight();
BufferedImagedstImage=newBufferedImage(width,height,bufferedImage.getType());
AffineTransformaffineTransform=newAffineTransform(1,0,0,-1,0,height);
AffineTransformOpaffineTransformOp=newAffineTransformOp(affineTransform,AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
returnaffineTransformOp.filter(bufferedImage,dstImage);
}
本文介绍了一种使用 Java 编程语言实现图像水平和垂直翻转的方法。通过利用 Java 2D API 中的 AffineTransform 和 AffineTransformOp 类,可以高效地完成图像的翻转操作。这种方法对于图像处理应用非常实用。
364

被折叠的 条评论
为什么被折叠?



