Added tileImageAcross().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1316 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,14 +1,15 @@
|
|||||||
//
|
//
|
||||||
// $Id: ImageUtil.java,v 1.8 2002/04/06 03:41:18 ray Exp $
|
// $Id: ImageUtil.java,v 1.9 2002/04/29 01:12:54 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.media.util;
|
package com.threerings.media.util;
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Image;
|
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
import java.awt.GraphicsConfiguration;
|
import java.awt.GraphicsConfiguration;
|
||||||
import java.awt.GraphicsDevice;
|
import java.awt.GraphicsDevice;
|
||||||
import java.awt.GraphicsEnvironment;
|
import java.awt.GraphicsEnvironment;
|
||||||
|
import java.awt.Image;
|
||||||
|
import java.awt.Shape;
|
||||||
import java.awt.Transparency;
|
import java.awt.Transparency;
|
||||||
|
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
@@ -191,6 +192,32 @@ public class ImageUtil
|
|||||||
return Color.HSBtoRGB(hsv[0], hsv[1], hsv[2]);
|
return Color.HSBtoRGB(hsv[0], hsv[1], hsv[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Paints multiple copies of the supplied image using the supplied
|
||||||
|
* graphics context such that the requested width is filled with the
|
||||||
|
* image.
|
||||||
|
*/
|
||||||
|
public static void tileImageAcross (Graphics g, Image image,
|
||||||
|
int x, int y, int width)
|
||||||
|
{
|
||||||
|
int iwidth = image.getWidth(null), iheight = image.getHeight(null);
|
||||||
|
int tcount = width/iwidth, extra = width % iwidth;
|
||||||
|
|
||||||
|
// draw the full copies of the image
|
||||||
|
for (int ii = 0; ii < tcount; ii++) {
|
||||||
|
g.drawImage(image, x, y, null);
|
||||||
|
x += iwidth;
|
||||||
|
}
|
||||||
|
|
||||||
|
// clip the final blit
|
||||||
|
if (extra > 0) {
|
||||||
|
Shape oclip = g.getClip();
|
||||||
|
g.clipRect(x, y, extra, iheight);
|
||||||
|
g.drawImage(image, x, y, null);
|
||||||
|
g.setClip(oclip);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create an image using the alpha channel from the first Image
|
* Create an image using the alpha channel from the first Image
|
||||||
* and the RGB values from the second.
|
* and the RGB values from the second.
|
||||||
|
|||||||
Reference in New Issue
Block a user