public static final void drawEffect(Graphics g, int current,
int sum, int type, Image img, int x, int y,
int t) {
int width;
int height;
if (type == 0) {
width = img.getWidth();
height = img.getHeight();
} else {
height = img.getHeight();
width = img.getWidth();
}
int halfWidth = width / 2;
int wholeHeight = height / 1;
int currentWidth = (width * current) / sum;
int l3 = (width * (sum - current)) / (sum * 4); //每改变一个记数点x的改变量,
//举例,在LOGO的变化中为 width*current
int currentAngle = (360 * current) / sum;
//每增加一行的像素,角度增加量,t 决定了有几个弧形循环
int angle = (360 * t) / wholeHeight;
for (int i = 0; i < wholeHeight; i++) {
int moveX = l3 * cos(currentAngle) >> 10;
if (type == 0) {
g.setClip(((x + halfWidth) - currentWidth / 2) + moveX, y + i * 1,
currentWidth, 1);
g.drawImage(img, x + moveX, y, 20);
} else {
g.setClip(x + i * 1, ((y + halfWidth) - currentWidth / 2) + moveX,
1, currentWidth);
g.drawImage(img, x, y + movex, 20);
}
currentAngle += angle;
}
}