Thumbnails 图片处理

来源:互联网 发布:suse11网络配置 编辑:程序博客网 时间:2024/06/05 07:47
package com.image;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import javax.imageio.ImageIO;import net.coobird.thumbnailator.Thumbnails;import net.coobird.thumbnailator.geometry.Positions;/** *  * @author PanYu *  */public class ThumbnailatorTest {    /**     *      * @param args     * @throws IOException     */    public static void main(String[] args) throws IOException {        ThumbnailatorTest thumbnailatorTest = new ThumbnailatorTest();        thumbnailatorTest.test1();        thumbnailatorTest.test2();        thumbnailatorTest.test3();        thumbnailatorTest.test4();        thumbnailatorTest.test5();        thumbnailatorTest.test6();        thumbnailatorTest.test7();        thumbnailatorTest.test8();        thumbnailatorTest.test9();    }    /**     * 指定大小进行缩放     *      * @throws IOException     */    private void test1() throws IOException {        /*         * size(width,height) 若图片横比200小,高比300小,不变         * 若图片横比200小,高比300大,高缩小到300,图片比例不变 若图片横比200大,高比300小,横缩小到200,图片比例不变         * 若图片横比200大,高比300大,图片按比例缩小,横为200或高为300         */        Thumbnails.of("images/test.jpg").size(200, 300).toFile("C:/image_200x300.jpg");        Thumbnails.of("images/test.jpg").size(2560, 2048).toFile("C:/image_2560x2048.jpg");    }    /**     * 按照比例进行缩放     *      * @throws IOException     */    private void test2() throws IOException {        /**         * scale(比例)         */        Thumbnails.of("images/test.jpg").scale(0.25f).toFile("C:/image_25%.jpg");        Thumbnails.of("images/test.jpg").scale(1.10f).toFile("C:/image_110%.jpg");    }    /**     * 不按照比例,指定大小进行缩放     *      * @throws IOException     */    private void test3() throws IOException {        /**         * keepAspectRatio(false) 默认是按照比例缩放的         */        Thumbnails.of("images/test.jpg").size(120, 120).keepAspectRatio(false).toFile("C:/image_120x120.jpg");    }    /**     * 旋转     *      * @throws IOException     */    private void test4() throws IOException {        /**         * rotate(角度),正数:顺时针 负数:逆时针         */        Thumbnails.of("images/test.jpg").size(1280, 1024).rotate(90).toFile("C:/image+90.jpg");        Thumbnails.of("images/test.jpg").size(1280, 1024).rotate(-90).toFile("C:/iamge-90.jpg");    }    /**     * 水印     *      * @throws IOException     */    private void test5() throws IOException {        /**         * watermark(位置,水印图,透明度)         */        Thumbnails.of("images/test.jpg").size(1280, 1024).watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File("images/watermark.png")), 0.5f)                .outputQuality(0.8f).toFile("C:/image_watermark_bottom_right.jpg");        Thumbnails.of("images/test.jpg").size(1280, 1024).watermark(Positions.CENTER, ImageIO.read(new File("images/watermark.png")), 0.5f)                .outputQuality(0.8f).toFile("C:/image_watermark_center.jpg");    }    /**     * 裁剪     *      * @throws IOException     */    private void test6() throws IOException {        /**         * 图片中心400*400的区域         */        Thumbnails.of("images/test.jpg").sourceRegion(Positions.CENTER, 400, 400).size(200, 200).keepAspectRatio(false)                .toFile("C:/image_region_center.jpg");        /**         * 图片右下400*400的区域         */        Thumbnails.of("images/test.jpg").sourceRegion(Positions.BOTTOM_RIGHT, 400, 400).size(200, 200).keepAspectRatio(false)                .toFile("C:/image_region_bootom_right.jpg");        /**         * 指定坐标         */        Thumbnails.of("images/test.jpg").sourceRegion(600, 500, 400, 400).size(200, 200).keepAspectRatio(false).toFile("C:/image_region_coord.jpg");    }    /**     * 转化图像格式     *      * @throws IOException     */    private void test7() throws IOException {        /**         * outputFormat(图像格式)         */        Thumbnails.of("images/test.jpg").size(1280, 1024).outputFormat("png").toFile("C:/image_1280x1024.png");        Thumbnails.of("images/test.jpg").size(1280, 1024).outputFormat("gif").toFile("C:/image_1280x1024.gif");    }    /**     * 输出到OutputStream     *      * @throws IOException     */    private void test8() throws IOException {        /**         * toOutputStream(流对象)         */        OutputStream os = new FileOutputStream("C:/image_1280x1024_OutputStream.png");        Thumbnails.of("images/test.jpg").size(1280, 1024).toOutputStream(os);    }    /**     * 输出到BufferedImage     *      * @throws IOException     */    private void test9() throws IOException {        /**         * asBufferedImage() 返回BufferedImage         */        BufferedImage thumbnail = Thumbnails.of("images/test.jpg").size(1280, 1024).asBufferedImage();        ImageIO.write(thumbnail, "jpg", new File("C:/image_1280x1024_BufferedImage.jpg"));    }}
1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 膝盖又红又痒怎么办 脸又红又痒怎么办 皮肤红痒有点热怎么办 浑身起红疙瘩 痒怎么办 身上长红包很痒怎么办 喝酒后身上很痒怎么办 身上长了小红包怎么办 腿长红包很痒怎么办 14岁脸上有雀斑怎么办 皮肤痒起红点或红块怎么办 脸过敏像长痱子怎么办 脸上有淡淡白块怎么办 过敏了脸上会起小疙瘩怎么办 脸过敏出红疙瘩怎么办 脸上长红色的小疙瘩怎么办 脸上都是小米粒痘痘怎么办 小孩身上起风团疙瘩怎么办 脸上长疙瘩很痒怎么办 一个多月宝宝脸上有湿疹怎么办 脸上发红发痒起疙瘩怎么办 脸过敏了怎么办最简单 胸下垂应该怎么办19岁 身上的肉特别松怎么办 才30岁脸部松弛怎么办 脸上的皮肤很松怎么办 面部皮肤干燥起皮刺痛怎么办 脸上的皮肤很粗糙怎么办 脸上又红又痒怎么办 鲜红斑痣增生了怎么办 激光祛斑后色素沉着怎么办 白球鞋洗后发黄怎么办 夏天出汗妆花了怎么办 买的小产权房怎么办 嘴唇起皮怎么办小妙招 照相嘴巴是歪的怎么办 鼻子笑起来很宽怎么办 财运不好怎么办最近你有偏财 从小缺爱的人怎么办 一到晚上就怕死怎么办 碰到不讲理的人怎么办 遇到不讲理的人怎么办