Java BufferedImage Subimage getSubImage(BufferedImage image, int x, int y, int width, int height)

Here you can find the source of getSubImage(BufferedImage image, int x, int y, int width, int height)

Description

A replacement for the standard BufferedImage.getSubimage method.

License

Apache License

Parameter

Parameter Description
image a parameter
x the X coordinate of the upper-left corner of the specified rectangular region
y the Y coordinate of the upper-left corner of the specified rectangular region
width the width of the specified rectangular region
height the height of the specified rectangular region

Return

a BufferedImage that is the subimage of image.

Declaration

public static BufferedImage getSubImage(BufferedImage image, int x, int y, int width, int height) 

Method Source Code

//package com.java2s;
/**/*from  w  ww.  j a va2s  .com*/
 * Copyright @ 2008
 *
 * 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.
 */

import java.awt.*;

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;
    }
}

Related

  1. getSubImage(BufferedImage image, int x, int y, int w, int h)
  2. getSubimage(BufferedImage image, int x, int y, int w, int h)
  3. getSubimage(BufferedImage image, int x, int y, int width, int height)
  4. getSubimage(BufferedImage image, int x, int y, int width, int height)
  5. getSubImage(BufferedImage img, int x, int y, int w, int h)
  6. getSubImage(BufferedImage img, Rectangle area)
  7. getSubImage(BufferedImage srcImage, int x, int y, int factorWidth, int factorHeight)