美文网首页
Java 相关图片操作

Java 相关图片操作

作者: sprainkle | 来源:发表于2020-08-27 12:15 被阅读0次

BufferedImage 转换为 InputStream

/**
 * BufferedImage 转换为 InputStream
 * 
 * @param image
 * @return
 * @throws IOException
 */
public static InputStream toInputStream(BufferedImage image) throws IOException {
    final ByteArrayOutputStream output = new ByteArrayOutputStream() {
        @Override
        public synchronized byte[] toByteArray() {
            return this.buf;
        }
    };
    ImageIO.write(image, "png", output);
    return new ByteArrayInputStream(output.toByteArray(), 0, output.size());
}

修改图片宽高

/**
 * 修改图片宽高
 *
 * @param img
 * @param nWidth
 * @return
 */
private static BufferedImage resize(BufferedImage img, int nWidth) {
    // 图片的宽
    int width = img.getWidth();
    // 图片的高
    int height = img.getHeight();

    int newWidth = width;
    int newHeight = height;
    // 放大
    if (nWidth > width) {
        double s = (double) nWidth / width;
        newWidth = (int) (width * s);
        newHeight = (int) (height * s);
    }
    // 缩小
    if (nWidth < width) {
        double s = width / (double) nWidth;
        newWidth = (int) (width / s);
        newHeight = (int) (height / s);
    }

    BufferedImage image = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_BGR);
    Graphics garphics = image.createGraphics();
    garphics.drawImage(img, 0, 0, newWidth, newHeight, null);

    return image;
}

相关文章

  • Java 相关图片操作

    BufferedImage 转换为 InputStream 修改图片宽高

  • Android 高频知识点

    Android 相关性能优化Java 相关Kotlin 相关网络相关插件化图片相关Gradle 相关Flutter...

  • Java常用包的主要作用

    java.io io流相关操作java.nio 新io操作java.lang 核心功能包,线程,System,基本...

  • java基础-时间相关(篇一 java7)

    简单介绍一下java时间相关的操作,以及线程并发相关的一些问题 首先,java时间相关类,常见的情况,分java7...

  • Java日期相关操作

    1. Date 大多数方法已经废弃,目前保留且常用的方法如下: 2. Calendar 推荐使用Calendar来...

  • 对图片的相关操作

    欢迎加入我个人维护QQ群:379069176PS:定期分享干货 将多张图片同时保存到相册中,出现的错误 将多张图片...

  • java java时间和Calendar 类的相关用法

    时间的相关操作: String -> Date java.text.SimpleDateFormat format...

  • SpringBoot整合Ehcache3

    前言 公司部门老项目要迁移升级java版本,需要进行缓存相关操作,原框架未支持这部分,经过调研java相关缓存方案...

  • Java 图片处理相关笔记

    1.图片压缩 起因:工作安排需要,爬虫爬取了大量国外一些行业数据和图片几百G+。 存储在阿里云存储不是很贵但是流量...

  • Redis基于Jedis的操作

    本人一直从事Java相关的开发工作,故使用Java相关的api来进行操作Redis数据库,可以通过下面的链...

网友评论

      本文标题:Java 相关图片操作

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