java - 如何在java中导出图像的2个不同大小的图像
问题描述
我下面的 java 代码使用 jswing 来显示图像。当用户触发 actionPerformed(ActionEvent e) 我想要以 400 X 400 和 300 X 300 大小导出的两个图像。所以它将是 2 个单独的图像而不仅仅是一个。我不知道我必须编写一个单独的函数来做到这一点。
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Listener extends JFrame implements ActionListener{
private JLabel label1,label2;
public Listener(){
setTitle("Question");
JPanel Panel1 = new JPanel();
Panel1.setLayout(new BorderLayout());
JPanel Panel2 = new JPanel();
Panel2.setLayout(new GridLayout(2,1));
JLabel myButton1 = new JLabel(new ImageIcon("/Users/zman/Desktop/dropIn/e.png"));
JButton myButton2 = new JButton("2:Export");
myButton2.addActionListener(this);
Panel2.add(myButton1);
Panel2.add(myButton2);
Panel1.add(Panel2,BorderLayout.CENTER);
add(Panel1);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(320, 240);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
}
public static void main(String[] args) {
new Listener();
}}
解决方案
将其分解为以下步骤:
- 从
Image
_ImageIcon
- 使用
Image.getScaledInstance(…)
方法将图片缩放到想要的大小 - 用于
ImageIO
将 写入Image
文件。
由于您想要两个图像,我建议您创建一个方法并将宽度、高度和文件名传递给该方法。
推荐阅读
- python - SQLAchemy db.drop_all() 给出 AttributeError: 'NoneType' object has no attribute 'lower'
- wordpress - 关于将持久的 WooCommerce 购物车数据保留在同一域上的非 WordPress 页面的标题中的想法
- wpf - 如何使用 mvvm wpf 保存新记录
- php - 在 PHP 函数中正确格式化 HTML
- c# - C# SQL Server 连接字符串与同一服务器上的多个数据库
- c# - 在android中使用GZIP压缩流
- c++ - 递归地依赖于自身的概念特化的价值是什么?
- python - Django:无法在管理面板中注册模型
- spring - Thymeleaf 片段内容不替换主要内容?
- python - 制作一个刷新按钮