java - 图像不局限于直接区域
问题描述
在下面的这个 java 代码中,图像并不局限于直接区域。我希望 java 图像以400 宽 x 400 高的图像完整显示。我试图这样做,frame.setSize(400, 400);
但它不起作用。我的代码包括 drawImage,我被告知我必须输入代码才能使其工作。我不知道下一步该做什么。
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.WindowConstants;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class SwingSandbox {
public static void main(String[] args) throws IOException {
JFrame frame = buildFrame();
final BufferedImage image = ImageIO.read(new File("/Users/johnzalubski/Desktop/c.jpg"));
JPanel pane = new JPanel() {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(image, 0, 0, null);
}
};
frame.add(pane);
}
private static JFrame buildFrame() {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(400, 400);
frame.setVisible(true);
return frame;
}
}
解决方案
你正在改变框架的大小。你应该使用这样的东西:g.drawImage(image, 0, 0, 400, 400, null);
如果这对你有帮助,请投票给我。我是新来的,想拥有一些基本的声誉。谢谢!
推荐阅读
- apache-nifi - 配置一个 nifi 处理器运行一次
- amazon-cloudformation - 执行模板后将值存储到变量中
- javascript - Puppeteer 奇怪的作用域行为
- python - aws python lambda:读取 csv 文件(迭代器应返回字符串)
- python - Matlab的带通滤波器等效于python
- sql - 通过向日期列添加值来删除重叠导致溢出
- grpc - 如何确定proto3的oneof字段的值类型?
- python - 将复杂的 XML 文件转换为 Pandas 数据框/CSV - Python
- python - 如何在python中查找文本图像的图像相似度
- python - python streamlit运行问题