Pass a color rather than an integer to the recoloration routine.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1100 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: ImageUtil.java,v 1.5 2002/02/25 07:14:56 mdb Exp $
|
// $Id: ImageUtil.java,v 1.6 2002/03/08 01:38:12 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.media.util;
|
package com.threerings.media.util;
|
||||||
|
|
||||||
@@ -98,7 +98,7 @@ public class ImageUtil
|
|||||||
* and modifying it.
|
* and modifying it.
|
||||||
*/
|
*/
|
||||||
public static BufferedImage recolorImage (
|
public static BufferedImage recolorImage (
|
||||||
BufferedImage image, int rootColor, float[] dists, float[] offsets)
|
BufferedImage image, Color rootColor, float[] dists, float[] offsets)
|
||||||
{
|
{
|
||||||
ColorModel cm = image.getColorModel();
|
ColorModel cm = image.getColorModel();
|
||||||
if (!(cm instanceof IndexColorModel)) {
|
if (!(cm instanceof IndexColorModel)) {
|
||||||
@@ -108,9 +108,8 @@ public class ImageUtil
|
|||||||
}
|
}
|
||||||
|
|
||||||
// first convert the root color to HSV for later comparison
|
// first convert the root color to HSV for later comparison
|
||||||
Color rcolor = new Color(rootColor);
|
float[] rHSV = Color.RGBtoHSB(rootColor.getRed(), rootColor.getGreen(),
|
||||||
float[] rHSV = Color.RGBtoHSB(rcolor.getRed(), rcolor.getGreen(),
|
rootColor.getBlue(), null);
|
||||||
rcolor.getBlue(), null);
|
|
||||||
int[] frHSV = toFixedHSV(rHSV, null);
|
int[] frHSV = toFixedHSV(rHSV, null);
|
||||||
|
|
||||||
// now process the image
|
// now process the image
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: RecolorImage.java,v 1.1 2002/02/25 07:28:34 mdb Exp $
|
// $Id: RecolorImage.java,v 1.2 2002/03/08 01:38:12 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.media.tools;
|
package com.threerings.media.tools;
|
||||||
|
|
||||||
@@ -141,8 +141,8 @@ public class RecolorImage extends JPanel
|
|||||||
float valO = Float.parseFloat(_valueO.getText());
|
float valO = Float.parseFloat(_valueO.getText());
|
||||||
float[] offsets = new float[] { hueO, satO, valO };
|
float[] offsets = new float[] { hueO, satO, valO };
|
||||||
|
|
||||||
BufferedImage image =
|
BufferedImage image = ImageUtil.recolorImage(
|
||||||
ImageUtil.recolorImage(_image, color, dists, offsets);
|
_image, new Color(color), dists, offsets);
|
||||||
_newImage.setIcon(new ImageIcon(image));
|
_newImage.setIcon(new ImageIcon(image));
|
||||||
_status.setText("Recolored image.");
|
_status.setText("Recolored image.");
|
||||||
repaint();
|
repaint();
|
||||||
|
|||||||
Reference in New Issue
Block a user