本文整理匯總了Java中java.awt.image.RescaleOp.getScaleFactors方法的典型用法代碼示例。如果您正苦於以下問題:Java RescaleOp.getScaleFactors方法的具體用法?Java RescaleOp.getScaleFactors怎麽用?Java RescaleOp.getScaleFactors使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類java.awt.image.RescaleOp
的用法示例。
在下文中一共展示了RescaleOp.getScaleFactors方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: filterImage
import java.awt.image.RescaleOp; //導入方法依賴的package包/類
private BufferedImage filterImage(BufferedImage original, int hash, RescaleOp op) {
HashMap<Integer, BufferedImage> imageMap = imageFilterBuffer.get(hash);
float[] scaleFactors = op.getScaleFactors(null);
int opHash = (int) (10*scaleFactors[0]+100*scaleFactors[1]+1000*scaleFactors[2]+10000*scaleFactors[3]);
if(imageMap != null) {
if(imageMap.size() > MAX_IMAGE_BUFFER_SIZE) emptyImageBuffer(); // empty image buffer of this image if it is too full.
else if(imageMap.containsKey(opHash)) return imageMap.get(opHash); // return the buffered resized image if it was resized before.
}
BufferedImage filtered = gameCanvas.getGraphicsConfiguration().createCompatibleImage(original.getWidth(), original.getHeight(), Transparency.BITMASK);
Graphics2D filteredG = filtered.createGraphics();
filteredG.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
filteredG.drawImage(original, op, 0, 0);
filteredG.dispose();
if(imageMap != null) imageMap.put(opHash, filtered);
else {
imageMap = new HashMap<Integer, BufferedImage>();
imageMap.put(opHash, filtered);
imageFilterBuffer.put(hash, imageMap);
}
return filtered;
}