Java examples for 2D Graphics:BufferedImage
A replacement for the standard BufferedImage.get Sub image method.
/**//from w w w . j av a 2 s . c o m * Copyright @ 2008 Quan Nguyen * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ //package com.java2s; import java.awt.Graphics2D; import java.awt.Transparency; import java.awt.image.*; public class Main { /** * A replacement for the standard <code>BufferedImage.getSubimage</code> * method. * * @param image * @param x the X coordinate of the upper-left corner of the specified * rectangular region * @param y the Y coordinate of the upper-left corner of the specified * rectangular region * @param width the width of the specified rectangular region * @param height the height of the specified rectangular region * @return a BufferedImage that is the subimage of <code>image</code>. */ public static BufferedImage getSubImage(BufferedImage image, int x, int y, int width, int height) { int type = (image.getTransparency() == Transparency.OPAQUE) ? BufferedImage.TYPE_INT_RGB : BufferedImage.TYPE_INT_ARGB; BufferedImage tmp = new BufferedImage(width, height, type); Graphics2D g2 = tmp.createGraphics(); g2.drawImage(image.getSubimage(x, y, width, height), 0, 0, null); g2.dispose(); return tmp; } }