Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/*
 * Copyright (C) 2012 JPII and contributors
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even 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, see <http://www.gnu.org/licenses/>.
 */

import java.awt.Graphics;

import java.awt.image.BufferedImage;

public class Main {
    /**
     * Quickly crops an image from its source.
     * @param src The source image.
     * @param x The x coordinate to start at.
     * @param y The y coordinate to start at.
     * @param width The width to clip.
     * @param height The height to clip.
     * @return
     */
    public static BufferedImage imgUtilFastCrop(BufferedImage src, int x, int y, int width, int height) {
        if (src == null)
            return null;
        if (x == 0 && y == 0 && width == src.getWidth() && height == src.getHeight())
            return imgUtilFastCopy(src);
        else {
            BufferedImage b = new BufferedImage(width, height, src.getType());
            Graphics g = b.getGraphics();
            g.drawImage(src, -x, -y, null);
            g.dispose();
            return b;
        }
    }

    /**
     * Quickly copies an image.
     * @param src The source image.
     * @return The replicated image.
     */
    public static BufferedImage imgUtilFastCopy(BufferedImage src) {
        if (src == null)
            return null;
        BufferedImage b = new BufferedImage(src.getWidth(), src.getHeight(), src.getType());
        b.setData(src.getRaster());
        return b;
    }
}