zoukankan      html  css  js  c++  java
  • java后台图片处理Thumbnails

    1.maven引入
    <dependency>
       <groupId>net.coobird</groupId>
       <artifactId>thumbnailator</artifactId>
       <version>0.4.8</version>
    </dependency>
    
    或者导入jar
    import net.coobird.thumbnailator.Thumbnails;
    
    二、用法:
    1.按指定大小把图片进行缩和放(会遵循原图高宽比例)
    //此处把图片压成400×500的缩略图
    Thumbnails.of(fromPic).size(400,500).toFile(toPic);//变为400*500
    //按照比例进行缩小和放大
    Thumbnails.of(fromPic).scale(0.2f).toFile(toPic);//按比例缩小
    Thumbnails.of(fromPic).scale(2f);//按比例放大
    //不按比例,就按指定的大小进行缩放
    Thumbnails.of(fromPic).size(100, 100).keepAspectRatio(false).toFile(toPic);
    或者Thumbnails.of(fromPic).forceSize(100,100).toFile(toPic);
    
    2.旋转图片
    rotate(角度),正数则为顺时针,负数则为逆时针
    Thumbnails.of(fromPic).size(200,200).rotate(90).toFile(toPic);
    
    3.图片尺寸不变,压缩图片文件大小outputQuality实现,参数1为最高质量
    Thumbnails.of(fromPic).scale(1f).outputQuality(0.25f).toFile(toPic);
    
    4.给图片加水印,watermark(位置,水印图,透明度)Positions.CENTER表示加在中间
    Thumbnails.of(fromPic).size(400,400)
            .watermark(Positions.CENTER,ImageIO.read(waterPic),0.5f)
            .outputQuality(0.8f).toFile(toPic);
    
    5.用sourceRegion()实现图片裁剪
    //图片中心300*300的区域,Positions.CENTER表示中心,还有许多其他位置可选
    Thumbnails.of(fromPic).sourceRegion(Positions.CENTER,300,300)
            .size(300,300).toFile(toPic);
    //图片中上区域300*300的区域
    Thumbnails.of(fromPic).sourceRegion(Positions.TOP_CENTER,300,300)
            .size(300,300).toFile(toPic);
    Thumbnails.of(fromPic).sourceRegion(0,0,200,200)
            .size(300,300).toFile(toPic);
  • 相关阅读:
    文件参数Python读取wav格式文件
    电子工程术语和定义列表,按字母顺序排列
    MAC地址加减1算法
    uboot通过kernel command line 动态分区 CONFIG_MTD_CMDLINE_PARTS
    c调用shell脚本
    busybox提示can't access tty.job control turned off
    cut命令如何截取以空格隔开的字段
    DS28E01100
    busybox 中的ntpd使用
    Debugfs
  • 原文地址:https://www.cnblogs.com/ljc1212/p/14314613.html
Copyright © 2011-2022 走看看