Thumbnail Generator : Image IO « 2D Graphics GUI « Java

Home
Java
1.2D Graphics GUI
2.2D Graphics GUI1
3.3D
4.Advanced Graphics
5.Ant
6.Apache Common
7.Chart
8.Class
9.Collections Data Structure
10.Data Type
11.Database SQL JDBC
12.Design Pattern
13.Development Class
14.EJB3
15.Email
16.Event
17.File Input Output
18.Game
19.Generics
20.GWT
21.Hibernate
22.I18N
23.J2EE
24.J2ME
25.JDK 6
26.JNDI LDAP
27.JPA
28.JSP
29.JSTL
30.Language Basics
31.Network Protocol
32.PDF RTF
33.Reflection
34.Regular Expressions
35.Scripting
36.Security
37.Servlets
38.Spring
39.Swing Components
40.Swing JFC
41.SWT JFace Eclipse
42.Threads
43.Tiny Application
44.Velocity
45.Web Services SOA
46.XML
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
SCJP
Java » 2D Graphics GUI » Image IOScreenshots 
Thumbnail Generator
    
/*
 *
 * Part of the InfoGlue Content Management Platform (www.infoglue.org)
 *
 
 *
 *  Copyright (C)
 
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License version 2, as published by the
 * Free Software Foundation. See the file LICENSE.html for more information.
 
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY, including the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, write to the Free Software Foundation, Inc. / 59 Temple
 * Place, Suite 330 / Boston, MA 02111-1307 / USA.
 *
 
 */


import java.awt.*;
import java.awt.image.*;
import java.io.*;

public class ThumbnailGenerator 
{
  public ThumbnailGenerator()
  {
  }
  
  public void transform(String originalFile, String thumbnailFile, int thumbWidth, int thumbHeight, int qualitythrows Exception 
  {
    Image image = javax.imageio.ImageIO.read(new File(originalFile));
      
      double thumbRatio = (double)thumbWidth / (double)thumbHeight;
      int imageWidth    = image.getWidth(null);
      int imageHeight   = image.getHeight(null);
      double imageRatio = (double)imageWidth / (double)imageHeight;
      if (thumbRatio < imageRatio
      {
        thumbHeight = (int)(thumbWidth / imageRatio);
      
      else 
      {
          thumbWidth = (int)(thumbHeight * imageRatio);
      }
      
    if(imageWidth < thumbWidth && imageHeight < thumbHeight)
    {
      thumbWidth = imageWidth;
      thumbHeight = imageHeight;
    }
    else if(imageWidth < thumbWidth)
      thumbWidth = imageWidth;
    else if(imageHeight < thumbHeight)
      thumbHeight = imageHeight;

      BufferedImage thumbImage = new BufferedImage(thumbWidth, thumbHeight, BufferedImage.TYPE_INT_RGB);
      Graphics2D graphics2D = thumbImage.createGraphics();
      graphics2D.setBackground(Color.WHITE);
      graphics2D.setPaint(Color.WHITE)
      graphics2D.fillRect(00, thumbWidth, thumbHeight);
      graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
      graphics2D.drawImage(image, 00, thumbWidth, thumbHeight, null);
      
    javax.imageio.ImageIO.write(thumbImage, "JPG"new File(thumbnailFile));
  }
}

   
    
    
    
  
Related examples in the same category
1.Display image supported by ImageIO
2.Print an Image to print directly
3.List All reader and writer formats supported by ImageIO
4.Display available ImageReaders and ImageWriters by image format and MIME typeDisplay available ImageReaders and ImageWriters by image format and MIME type
5.Write an image of a given format
6.Read an image
7.Simple, functional ImageReaderSpi used to understand how information
8.Simple, functional ImageWriterSpi used to understand how information
9.Example showing how to reset the ordering of ImageReaderSpis in Image I/OExample showing how to reset the ordering of ImageReaderSpis in Image I/O
10.Using mediatracker to pre-load images
11.Get list of unique supported read formats
12.Get list of unique supported write formats
13.Get list of unique MIME types that can be read
14.Get list of unique MIME types that can be written
15.Returns true if the specified format name can be read
16.Returns true if the specified format name can be written
17.Returns true if the specified file extension can be read
18.Returns true if the specified file extension can be written
19.Returns true if the specified mime type can be read
20.Returns true if the specified mime type can be written
21.Show ImageIO Info
22.Write Image with different types
23.Load the image file from a folder or a jar file: use javax.imageio.ImageIO class to read the image file
24.Compress and save an image to the disk
25.Creates a new raster copy
26.Resizes an image
27.Creates an image compatible with the current display
28.Produces a copy of the supplied image
29.Produces a resized image that is of the given dimensions
30.Loads an image in a format compatible with the current display
31.Saves an image to the disk
32.Helper class for debugging stuff in Image I/O.
33.Reading a gif image with ImageIO.read and display it on screenReading a gif image with ImageIO.read and display it on screen
34.Read and write image files in the formats that the JDK supports. Multi-file images are supported.
35.A program for viewing imagesA program for viewing images
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.