美文网首页
Java 切图

Java 切图

作者: 南桥畂翊 | 来源:发表于2018-01-13 11:54 被阅读0次

切图的代码如下:

package com.fnpac.gotop.helper.image;

import javax.imageio.ImageIO;
import javax.imageio.ImageReadParam;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Iterator;

/**
 * Created by liuchunlong on 2018/1/13.
 * <p>
 * 图片处理工具类
 */
public class ImageUtils {

    /**
     * 图片剪裁
     *
     * @param x          距离左上角的x轴距离
     * @param y          距离左上角的y轴距离
     * @param width      宽度
     * @param height     高度
     * @param sourcePath 图片源
     * @param descpath   目标位置
     */
    public static void imageCut(int x, int y, int width, int height,
                                String sourcePath, String descpath) {
        FileInputStream fis = null;
        ImageInputStream iis = null;
        try {

            String fileSuffix = sourcePath.substring(sourcePath.lastIndexOf(".") + 1);
            Iterator<ImageReader> it = ImageIO.getImageReadersByFormatName(fileSuffix);
            ImageReader reader = it.next();

            fis = new FileInputStream(sourcePath);
            iis = ImageIO.createImageInputStream(fis);

            reader.setInput(iis, true);

            ImageReadParam param = reader.getDefaultReadParam();
            Rectangle rect = new Rectangle(x, y, width, height);
            param.setSourceRegion(rect);

            BufferedImage bi = reader.read(0, param);
            ImageIO.write(bi, fileSuffix, new File(descpath));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (fis != null) {
                try {
                    fis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                fis = null;
            }
            if (iis != null) {
                try {
                    iis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                iis = null;
            }
        }
    }
}

相关文章

  • Java 切图

    切图的代码如下:

  • tomcat/memcached

    web站点架构 Java技术体系 Java运行过程 GC 线程 图1 图1 图2 图4 图1 图2 图4 图1 图...

  • Java思维导图系列(01)

    关键词:思维导图;Java;Java EE;最全最详细; Java基础部分思维导图

  • Java思维导图系列(02)

    关键词:思维导图;Java;Java EE;最全最详细; Java专题部分思维导图

  • Java思维导图系列(03)

    关键词:思维导图;Java;Java EE;最全最详细; Java Web部分思维导图

  • 趣图:Java 和 PHP 之间的战斗

    趣图:一张图看懂 Java 多线程阻塞机制 趣图:一图看懂 Java 的垃圾回收机制

  • 「前端眼中的PS」切图

    如何开始切图 切图 切片工具 隐藏文字 可平铺背景的切图方法 PNG24切图方法 PNG8带背景切图方法 切图 如...

  • 切图工的修养:切图方法、切图工具经验谈。

    Foreword: 作为一个职业的切图工,如何切好图,把图切快,是切图工的工匠精神体现。 切图规范: *游戏切图和...

  • 切图

    图片切图命名 图性质_ 功能相关描述_ 图片描述(可无)_ 状态说明(可无)@2X.png 例如:bg_book...

  • 切图

    切图是从设计稿中切出网页的素材并在代码中引入图片,一般用于复杂的图片或者为了解决兼容问题,并且能用css解决,尽量...

网友评论

      本文标题:Java 切图

      本文链接:https://www.haomeiwen.com/subject/jxvqoxtx.html