viewer.java

来自「一个java图像浏览器」· Java 代码 · 共 47 行

JAVA
47
字号
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;

public class Viewer extends JPanel {
	private Dimension dim;

	private BufferedImage img;

	public void setImage(String filename) {
		try {
			img = ImageIO.read(new BufferedInputStream(new FileInputStream(
					filename)));
		} catch (IOException e) {
		}
	}
	
	public void paint(Graphics g) {
		dim = getSize();
		g.clearRect(0, 0, dim.width, dim.height);
		g.setColor(Color.black);
		g.drawRect(0, 0, dim.width, dim.height);
		if (img != null) {
			int w = img.getWidth();
			int h = img.getHeight();
			if (w > dim.width) {
				h = h * dim.width / w;
				w = dim.width;
			}
			if (h > dim.height) {
				w = w * dim.height / h;
				h = dim.height;
			}
			
			g.drawImage(img, 0, 0, w, h, this);
		
		} else {
			g.setColor(Color.red);
			g.drawString("No picture!", 0, 0);
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?