📄 zimagebrush.java
字号:
/*
* Copyright 2002 EZCell , Inc. All rights reserved.
* Version 1.0.
* Author W.John
*/
package ezcell;
import java.awt.Graphics2D;
import java.awt.TexturePaint;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
/**
* DOCUMENT ME!
*
* @version 1.00
* @author W.John
*/
public class ZImageBrush extends ZBrush implements Cloneable, Serializable {
static private JPanel loader;
private String fileName;
transient private BufferedImage bi;
ZImageBrush(String fileName) {
this.fileName = fileName;
loadImage();
}
/**
*
* @param g2
* @param rect
*/
public void setPaint(Graphics2D g2, ZRect rect) {
g2.setPaint(new TexturePaint(bi, new Rectangle2D.Float(rect.left, rect.top, rect.getWidth(), rect.getHeight())));
}
/**
*
* @return
*/
public String getPath() {
return fileName;
}
/**
*
* @return
*/
public Object clone() {
ZImageBrush obj = null;
try {
obj = (ZImageBrush) super.clone();
obj.bi = bi;
} catch (Exception e) {
}
return obj;
}
/**
*
* @param g2
* @param rect
*/
public void fill(Graphics2D g2, ZRect rect) {
setPaint(g2, rect);
g2.fillRect(rect.left, rect.top, rect.getWidth(), rect.getHeight());
}
/**
*/
private void loadImage() {
ImageIcon icon = new ImageIcon(fileName);
bi = new BufferedImage(icon.getIconWidth(), icon.getIconHeight(), BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = bi.createGraphics();
g2.drawImage(icon.getImage(), null, null);
}
/**
*
* @param ois
*
* @throws ClassNotFoundException
* @throws IOException
*/
private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
ois.defaultReadObject();
loadImage();
}
/**
*
* @param oos
*
* @throws IOException
*/
private void writeObject(ObjectOutputStream oos) throws IOException {
oos.defaultWriteObject();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -