/**
*
*/
package ddsutil;
import java.awt.Image;
import java.awt.image.BufferedImage;
/**
* Java Graphics2D Rescaler
* @author danielsenff
*
*/
public class ImageRescaler extends Rescaler {
/**
* Graphics2D Scale algorithm
*/
private int scaleAlgorithm;
/**
*
*/
public ImageRescaler() {
scaleAlgorithm = Image.SCALE_SMOOTH;
}
/**
* @param scaleMethod
*/
public ImageRescaler(final int scaleMethod) {
scaleAlgorithm = scaleMethod;
}
/**
* @param image
* @param width
* @param height
* @return
*/
@Override
public BufferedImage rescaleBI(final BufferedImage originalImage,
final int newWidth, final int newHeight) {
Image rescaledImage = originalImage.getScaledInstance(newWidth, newHeight, scaleAlgorithm);
BufferedImage bi;
if(rescaledImage instanceof BufferedImage)
bi = (BufferedImage)rescaledImage;
else
bi = BIUtil.convertImageToBufferedImage(rescaledImage, BufferedImage.TYPE_4BYTE_ABGR);
return bi;
}
/**
* @return
*/
public int getScaleAlgorithm() {
return this.scaleAlgorithm;
}
/**
* @param scaleAlgorithm
*/
public void setScaleAlgorithm(final int scaleAlgorithm) {
this.scaleAlgorithm = scaleAlgorithm;
}
}