📄 zgradientbrush.java
字号:
/*
* Copyright 2002 EZCell , Inc. All rights reserved.
* Version 1.0.
* Author W.John
*/
package ezcell;
import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics2D;
import java.awt.Paint;
import java.awt.Point;
import java.awt.geom.Point2D;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
/**
* put your documentation comment here
*/
public class ZGradientBrush extends ZBrush implements Cloneable, Serializable {
private Color fromColor;
private Color toColor;
transient private Point2D.Float fromPos;
transient private Point2D.Float toPos;
private boolean loop;
ZGradientBrush(Point fromPos, Color fromColor, Point toPos, Color toColor, boolean loop) {
this.fromPos = new Point2D.Float(fromPos.x / 100.0f, fromPos.y / 100.0f);
this.fromColor = fromColor;
this.toPos = new Point2D.Float(toPos.x / 100.0f, toPos.y / 100.0f);
this.toColor = toColor;
this.loop = loop;
}
/**
*
* @return
*/
public Color getFromColor() {
return fromColor;
}
/**
*
* @return
*/
public Point getFromPoint() {
return new Point((int) (fromPos.x * 100), (int) (fromPos.y * 100));
}
/**
*
* @param g2
* @param rect
*/
public void setPaint(Graphics2D g2, ZRect rect) {
g2.setPaint(
new GradientPaint(rect.left + (fromPos.x * rect.getWidth()), rect.top + (fromPos.y * rect.getHeight()),
fromColor, rect.left + (toPos.x * rect.getWidth()), rect.top + (toPos.y * rect.getHeight()),
toColor, loop));
}
/**
*
* @return
*/
public Color getToColor() {
return toColor;
}
/**
*
* @return
*/
public Point getToPoint() {
return new Point((int) (toPos.x * 100), (int) (toPos.y * 100));
}
/**
* put your documentation comment here
* @return
*/
public Object clone() {
ZGradientBrush brush = null;
brush = (ZGradientBrush) super.clone();
brush.fromPos = new Point2D.Float(fromPos.x, fromPos.y);
brush.fromColor = new Color(fromColor.getRGB());
brush.toPos = new Point2D.Float(toPos.x, toPos.y);
brush.toColor = new Color(toColor.getRGB());
return brush;
}
/**
*
* @param g2
* @param rect
*/
public void fill(Graphics2D g2, ZRect rect) {
Paint p = g2.getPaint();
setPaint(g2, rect);
g2.fillRect(rect.left, rect.top, rect.getWidth(), rect.getHeight());
g2.setPaint(p);
}
/**
*
* @param ois
*
* @throws ClassNotFoundException
* @throws IOException
*/
private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
ois.defaultReadObject();
fromPos = new Point2D.Float(0, 0);
toPos = new Point2D.Float(0, 0);
fromPos.x = ois.readFloat();
fromPos.y = ois.readFloat();
toPos.x = ois.readFloat();
toPos.y = ois.readFloat();
}
/**
*
* @param oos
*
* @throws IOException
*/
private void writeObject(ObjectOutputStream oos) throws IOException {
oos.defaultWriteObject();
oos.writeFloat(fromPos.x);
oos.writeFloat(fromPos.y);
oos.writeFloat(toPos.x);
oos.writeFloat(toPos.y);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -