将图片的大小(分辨率)调整为指定的宽度和高度

这篇具有很好参考价值的文章主要介绍了将图片的大小(分辨率)调整为指定的宽度和高度。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这段代码将图像文件"original.jpg"的大小调整为宽度300像素,高度200像素,并将调整后的图像保存为"resized.jpg"。您可以根据需要修改输入和输出的文件路径和名称。

1. 方法一
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;

public class ImageResize {
    public static byte[] resizeImage(byte[] imageData, int width, int height) throws IOException {
        ByteArrayInputStream bis = new ByteArrayInputStream(imageData);
        BufferedImage image = ImageIO.read(bis);

        Image resizedImage = image.getScaledInstance(width, height, Image.SCALE_SMOOTH);

        BufferedImage bufferedResizedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
        bufferedResizedImage.getGraphics().drawImage(resizedImage, 0, 0, null);

        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        ImageIO.write(bufferedResizedImage, "jpg", bos);
        byte[] resizedImageData = bos.toByteArray();

        bis.close();
        bos.close();

        return resizedImageData;
    }

    public static void main(String[] args) {
        try {
            byte[] originalImageData = Files.readAllBytes(new File("original.jpg").toPath());
            byte[] resizedImageData = resizeImage(originalImageData, 300, 200);
            Files.write(new File("resized.jpg").toPath(), resizedImageData);
            System.out.println("图片调整大小成功!");
        } catch (IOException e) {
            System.out.println("图片调整大小失败: " + e.getMessage());
        }
    }
}
2. 方法二
public static byte[] resizeImage(byte[] finalImage, int width, int height) {
	try {
         BufferedImage img = ImageIO.read(new ByteArrayInputStream(imageByte));
         //创建新图片
         BufferedImage image = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_RGB);
         Graphics2D g2d = image.createGraphics();
         g2d.setColor(Color.WHITE);
         g2d.fillRect(0, 0, newWidth, newHeight);
         //g2d.drawImage(img, (newWidth - img.getWidth()) / 2, (newHeight - img.getHeight()) / 2, null);
         g2d.drawImage(img.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH), 0, 0, null);
         g2d.dispose();
         ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
         ImageIO.write(image, "jpg", byteArrayOut);
         finalImage = byteArrayOut.toByteArray();
     } catch (IOException e) {
         e.printStackTrace();
     }
}

文章来源地址https://www.toymoban.com/news/detail-716091.html

到了这里,关于将图片的大小(分辨率)调整为指定的宽度和高度的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ArcGIS界面显示分辨率调整

      因为电脑显示分辨率的问题呢,ArcGIS的界面显示会字体显示不合适,出现模糊情况,这时候只需要做个简单的操作设置一下便可以解决!

    2024年02月04日
    浏览(71)
  • 【C/C++】使用C++和Direct3D (d3d)获取屏幕截图并根据传入分辨率进行缩放图片大小

    目录 一,函数清单 1.Direct3DCreate9 函数 2.IDirect3D9::CreateDevice 方法 3.IDirect3DDevice9::GetDisplayMode 方法 4.IDirect3DDevice9::CreateOffscreenPlainSurface 方法 5.IDirect3DDevice9::GetFrontBufferData 方法 6.IDirect3DDevice9::D3DXLoadSurfaceFromSurface 方法 7. D3DXSaveSurfaceToFile 函数 二,关键代码实现 三,最终实现

    2024年01月18日
    浏览(48)
  • CSS根据屏幕分辨率自动调整样式

    CSS 根据屏幕分辨率自适应样式的核心技术就是响应式设计(Responsive Design),主要依赖于CSS3的媒体查询(Media Queries)。媒体查询允许开发者根据设备的视窗宽度、高度、方向等特性来应用不同的CSS样式规则。以下是几个基本的媒体查询示例: css 在上面的例子中: screen 指定

    2024年04月15日
    浏览(43)
  • ov5640分辨率调整傻瓜攻略【verilog版】

    某verilog菜狗最近开始研究摄像头了,查了很多资料说的都太高级了,这里记录一下一些非常简单的傻瓜都能看懂的ov5640调整分辨率的方式 在你的代码中找到如下字段(长得差不多就行),主要是看后面的24位数据。 在这24位数据里面,其中 前16位 为你需要调整的参数的地址

    2024年02月06日
    浏览(51)
  • Python获取视频分辨率大小

    可以使用 Python 的 cv2 库来获取视频的分辨率大小。具体来说,需要执行以下步骤: 1、首先,你需要安装 cv2 库。你可以使用 pip 安装: 2、然后,需要导入 cv2 库并打开视频文件。就可以使用 cv2.VideoCapture 函数来打开视频文件: 3、接着,可以使用 cv2.VideoCapture.get 函数获取视

    2024年02月15日
    浏览(67)
  • 【MATLAB】Linux版本 高分辨率屏 调整显示缩放

    安装了linux版本的MATLAB R2023b之后,发现工具栏字体很小不方便使用,所以上网找到了MATLAB论坛上某位大佬的教程:参考链接,放在这里供各位参考 。 这里注明我的matlab安装环境仅供参考,未在其他环境下测试过,有效性未知: Ubuntu 20.04 MATLAB R2023b 在MATLAB命令行中输入下面

    2024年01月16日
    浏览(91)
  • 解决windows由于分辨率调整导致的桌面图标位置乱序

    https://www.zhihu.com/question/328534753 https://baijiahao.baidu.com/s?id=1724804313296173730wfr=spiderfor=pc windows电脑由于连接(扩展)外接显示器、全屏游戏、远程桌面连接等会导致分辨率调整,从而导致桌面上排列好的图片会变乱,这里有两种方式解决: 通过修改注册表项来解决 通过桌面图标

    2024年01月23日
    浏览(80)
  • opencv和ffmpeg调整视频分辨率两种方法介绍

     咳咳,为了调整学习资料的分辨率,我花了很多时间,嗯,效果一般。就是图个乐子。   opencv确实是个不错的软件,但可惜我不太懂调整颜色色差,对比度这些东西,但是还是贴上代码吧。     ffmpeg有python版本和exe版本,为了节省时间,我就使用exe版本了。ffmpeg使用前需要

    2024年02月09日
    浏览(48)
  • Qt获取屏幕(桌面)的大小或分辨率

    Qt提供QDesktopWidget和QScreen两个类获取屏幕大小。Qt5开始,QDesktopWidget官方不建议使用,改为QScreen。Qt 6.0 及之后版本,QDesktopWidget 已从QtWidgets 模块中被彻底移除。 QDesktopWidget 提供了详细的位置信息,其能够自动返回窗口在用户窗口的位置和应用程序窗口的位置。 如果是多屏幕

    2024年02月07日
    浏览(62)
  • 使用ffmpeg调整视频分辨率/帧率并保持高清晰度

    通过ffmpeg -i命令查看视频基本信息 通过命令查看,原始视频信息 分辨率为4096x2160,码率214092k, 帧率50 -qscale value:使用固定的视频量化标度(VBR),以value质量为基础的VBR,取值0.01-255,越小质量越好 -q:v:表示存储jpeg的图像质量 -b:v:设置输出文件的视频比特率(码率) -c:a:

    2024年02月02日
    浏览(82)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包