From 9e65454f51088f4ce539cdc445182bd6c060369c Mon Sep 17 00:00:00 2001 From: srowen Date: Fri, 5 Mar 2010 11:08:53 +0000 Subject: [PATCH] For better handling of some formats, perform rotation with help of Graphics2D git-svn-id: http://zxing.googlecode.com/svn/trunk@1240 59b500cc-1b3d-0410-9834-0bbf25fbcc57 --- .../client/j2se/BufferedImageLuminanceSource.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/javase/src/com/google/zxing/client/j2se/BufferedImageLuminanceSource.java b/javase/src/com/google/zxing/client/j2se/BufferedImageLuminanceSource.java index e60d3e26..2d613ccf 100644 --- a/javase/src/com/google/zxing/client/j2se/BufferedImageLuminanceSource.java +++ b/javase/src/com/google/zxing/client/j2se/BufferedImageLuminanceSource.java @@ -18,9 +18,8 @@ package com.google.zxing.client.j2se; import com.google.zxing.LuminanceSource; +import java.awt.Graphics2D; import java.awt.image.BufferedImage; -import java.awt.image.BufferedImageOp; -import java.awt.image.AffineTransformOp; import java.awt.geom.AffineTransform; /** @@ -129,11 +128,14 @@ public final class BufferedImageLuminanceSource extends LuminanceSource { // Rotate 90 degrees counterclockwise. AffineTransform transform = new AffineTransform(0.0, -1.0, 1.0, 0.0, 0.0, sourceWidth); - BufferedImageOp op = new AffineTransformOp(transform, AffineTransformOp.TYPE_NEAREST_NEIGHBOR); // Note width/height are flipped since we are rotating 90 degrees. BufferedImage rotatedImage = new BufferedImage(sourceHeight, sourceWidth, image.getType()); - op.filter(image, rotatedImage); + + // Draw the original image into rotated, via transformation + Graphics2D g = rotatedImage.createGraphics(); + g.drawImage(image, transform, null); + g.dispose(); // Maintain the cropped region, but rotate it too. int width = getWidth(); -- 2.20.1