java - 从高度调整图像大小

标签 java image

我有一个程序,可以将图像从前端(angularjs)发送到java Controller 。在 Controller 中我得到一个字节数组。我可以保存此图像,但我想在保存之前调整此图像的大小。问题是我想设置图片的固定高度,宽度的变化应该与高度成比例。这个过程应该是通用的,以便它可以适用于不同的照片。

下面是我的代码:

@RequestMapping(value = "/rest/bookImage", method = RequestMethod.POST)
    public @ResponseBody MessageDTO UploadFile(
            MultipartHttpServletRequest request, HttpServletResponse response) {

        Iterator<String> itr = request.getFileNames();
        MultipartFile file = request.getFile(itr.next());
        FileOutputStream fos;
        fos = new FileOutputStream(urlImage);
        fos.write(file.getBytes());
            fos.close();
}

最佳答案

由于您已经有了图像,因此可以使用 getScaledInstance 函数:

yourImage.getScaledInstance(newWidth, newHeight, Image.SCALE_DEFAULT);

你说你希望宽度与高度成比例,通过选择是否希望它是两倍或其他(只需分别设置适当的高度和宽度!)

在此处查看更多信息:http://docs.oracle.com/javase/7/docs/api/java/awt/Image.html

public Image getScaledInstance(int width,
                      int height,
                      int hints)

创建此图像的缩放版本。返回一个新的 Image 对象,默认情况下它将以指定的宽度和高度渲染图像。 如果宽度或高度为负数,则将替换一个值以保持原始图像尺寸的纵横比。如果宽度和高度均为负数,则使用原始图像尺寸。

参数: width - 图像缩放到的宽度。 height - 图像缩放到的高度。 提示 - 指示用于图像重采样的算法类型的标志。 返回:图像的缩放版本。

关于java - 从高度调整图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28913531/

相关文章:

java - 如何识别 Web 服务是异步的还是同步的

html - css3自适应图像绝对位置

java - 如何在 Ant 中使用并行任务

Java Spring Boot Hibernate、JPA、MVC、REST混淆

java - 使用 java 和 mySQL 的泰米尔语 utf-8 编码

html - 如何使用 CSS 将 "crop"矩形图像变成正方形?

ios - 访问调整大小图像的原始像素数据时出错

java - 外键 Hibernate 注释

java - GUI 最初未显示(netbeans)

jquery - 如何使用 Jquery 检查 url 是否是有效的图像源?