You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by an...@apache.org on 2008/07/04 22:54:20 UTC
svn commit: r674121 - in /cocoon/branches/BRANCH_2_1_X:
src/blocks/imageop/java/org/apache/cocoon/reading/imageop/ResizeOperation.java
status.xml
Author: anathaniel
Date: Fri Jul 4 13:54:19 2008
New Revision: 674121
URL: http://svn.apache.org/viewvc?rev=674121&view=rev
Log:
<action dev="AN" type="fix" fixes-bug="COCOON-2177" due-to="Mark Lundquist" due-to-email="lundquist.mark@gmail.com">
ImageOp block: Make resize a no-op if width and height are zero.
</action>
<action dev="AN" type="add" fixes-bug="COCOON-2133" due-to="Robin Wyles" due-to-email="reb@robinwyles.com">
ImageOp block: Addition of "allow-enlarge" parameter to resize operation.
</action>
Modified:
cocoon/branches/BRANCH_2_1_X/src/blocks/imageop/java/org/apache/cocoon/reading/imageop/ResizeOperation.java
cocoon/branches/BRANCH_2_1_X/status.xml
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/imageop/java/org/apache/cocoon/reading/imageop/ResizeOperation.java
URL: http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/src/blocks/imageop/java/org/apache/cocoon/reading/imageop/ResizeOperation.java?rev=674121&r1=674120&r2=674121&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/imageop/java/org/apache/cocoon/reading/imageop/ResizeOperation.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/imageop/java/org/apache/cocoon/reading/imageop/ResizeOperation.java Fri Jul 4 13:54:19 2008
@@ -31,6 +31,7 @@
private int width;
private boolean preserveRatio;
private boolean adjustX;
+ private boolean allowEnlarge;
public void setPrefix( String prefix ) {
this.prefix = prefix;
@@ -49,27 +50,50 @@
}
preserveRatio = params.getParameterAsBoolean( prefix + "preserve-ratio", false );
adjustX = params.getParameterAsBoolean( prefix + "adjust-x", false );
+ allowEnlarge = params.getParameterAsBoolean( prefix + "allow-enlarge", true );
}
public WritableRaster apply( WritableRaster image ) {
if( ! enabled ) {
return image;
}
+ if ( this.width == 0 && this.height == 0 ) {
+ return image;
+ }
double height = image.getHeight();
double width = image.getWidth();
double xScale = this.width / width;
double yScale = this.height / height;
- if( preserveRatio )
+ if (allowEnlarge || (xScale <= 1 && yScale <= 1))
{
- if( adjustX )
- xScale = yScale;
- else
- yScale = xScale;
+ if( preserveRatio )
+ {
+ if (allowEnlarge) {
+ if (xScale >= 1) {
+ yScale = xScale;
+ } else if (yScale >= 1) {
+ xScale = yScale;
+ }
+ } else {
+ if (xScale <= 1) {
+ yScale = xScale;
+ } else if (yScale <= 1) {
+ xScale = yScale;
+ }
+ }
+ if( adjustX )
+ xScale = yScale;
+ else
+ yScale = xScale;
+ }
+
+ AffineTransform scale = AffineTransform.getScaleInstance( xScale, yScale );
+ AffineTransformOp op = new AffineTransformOp( scale, AffineTransformOp.TYPE_BILINEAR );
+ WritableRaster scaledRaster = op.filter( image, null );
+ return scaledRaster;
+ } else {
+ return image;
}
- AffineTransform scale = AffineTransform.getScaleInstance( xScale, yScale );
- AffineTransformOp op = new AffineTransformOp( scale, AffineTransformOp.TYPE_BILINEAR );
- WritableRaster scaledRaster = op.filter( image, null );
- return scaledRaster;
}
public String getKey() {
@@ -77,6 +101,7 @@
+ ( enabled ? "enable" : "disable" )
+ ":" + width
+ ":" + height
- + ":" + prefix;
+ + ":" + prefix
+ + ":" + ( allowEnlarge ? "allowEnlarge" : "disallowEnlarge" );
}
}
Modified: cocoon/branches/BRANCH_2_1_X/status.xml
URL: http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/status.xml?rev=674121&r1=674120&r2=674121&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/status.xml (original)
+++ cocoon/branches/BRANCH_2_1_X/status.xml Fri Jul 4 13:54:19 2008
@@ -186,6 +186,12 @@
<action dev="all" type="update">
Starting with 2.1.12 the minimum required Java version will be 1.4.2.
</action>
+ <action dev="AN" type="fix" fixes-bug="COCOON-2177" due-to="Mark Lundquist" due-to-email="lundquist.mark@gmail.com">
+ ImageOp block: Make resize a no-op if width and height are zero.
+ </action>
+ <action dev="AN" type="add" fixes-bug="COCOON-2133" due-to="Robin Wyles" due-to-email="reb@robinwyles.com">
+ ImageOp block: Addition of "allow-enlarge" parameter to resize operation.
+ </action>
<action dev="AN" type="fix" fixes-bug="COCOON-2213" due-to="Jasha Joachimsthal" due-to-email="j.joachimsthal@onehippo.com">
Mail block: Allow mime-type to explicitly set a charset as in mime-type="text/html;charset=UTF-8".
</action>