extensions/net.sf.basedb.thumbnails/trunk/src/net/sf/basedb/thumbnails/Crop.java

Code
Comments
Other
Rev Date Author Line
6053 13 Nov 20 nicklas 1 package net.sf.basedb.thumbnails;
6053 13 Nov 20 nicklas 2
6053 13 Nov 20 nicklas 3 import java.awt.image.BufferedImage;
6053 13 Nov 20 nicklas 4
6053 13 Nov 20 nicklas 5 import org.imgscalr.Scalr;
6053 13 Nov 20 nicklas 6
6053 13 Nov 20 nicklas 7 /**
6053 13 Nov 20 nicklas 8   Predefined specification for cropping images. 
6053 13 Nov 20 nicklas 9   Note that cropping is not supported by all image loader
6053 13 Nov 20 nicklas 10   implementations. Cropping is applied before scaling or 
6053 13 Nov 20 nicklas 11   rotating the image.
6053 13 Nov 20 nicklas 12   
6053 13 Nov 20 nicklas 13   @author nicklas
6053 13 Nov 20 nicklas 14   @since 1.2
6053 13 Nov 20 nicklas 15 */
6053 13 Nov 20 nicklas 16 public enum Crop 
6053 13 Nov 20 nicklas 17 {
6053 13 Nov 20 nicklas 18
6053 13 Nov 20 nicklas 19   /**
6053 13 Nov 20 nicklas 20     Crops the label on NDPI images. This is typically a square on the
6053 13 Nov 20 nicklas 21     left side of the image. To make it simple we take the square from 0,0 to x,x
6053 13 Nov 20 nicklas 22     where x is the smallest if width and height of the image.
6053 13 Nov 20 nicklas 23   */
6053 13 Nov 20 nicklas 24   LABEL {
6053 13 Nov 20 nicklas 25     @Override
6053 13 Nov 20 nicklas 26     public BufferedImage crop(BufferedImage image) 
6053 13 Nov 20 nicklas 27     {
6053 13 Nov 20 nicklas 28       int size = Math.min(image.getHeight(), image.getHeight());
6053 13 Nov 20 nicklas 29       return Scalr.crop(image, 0, 0, size, size);
6053 13 Nov 20 nicklas 30     }
6053 13 Nov 20 nicklas 31   };
6053 13 Nov 20 nicklas 32   
6053 13 Nov 20 nicklas 33   /**
6053 13 Nov 20 nicklas 34     Crop the image.
6053 13 Nov 20 nicklas 35   */
6053 13 Nov 20 nicklas 36   public abstract BufferedImage crop(BufferedImage image);
6053 13 Nov 20 nicklas 37 }