com.threerings.media.tools
Class RecolorImage

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by com.threerings.media.tools.RecolorImage
All Implemented Interfaces:
ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible

public class RecolorImage
extends JPanel
implements ActionListener

Tests the image recoloring code.

See Also:
Serialized Form

Nested Class Summary
protected  class RecolorImage.SliderAndLabel
          Class with linked slider and label arranged vertically.
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  JFileChooser _chooser
           
protected  JComboBox _classList
           
protected  JComboBox _classList1
           
protected  JComboBox _classList2
           
protected  JComboBox _classList3
           
protected  JComboBox _classList4
           
protected  JFileChooser _colChooser
           
protected  JTextField _colFilePath
           
protected  JPanel _colorLabel
           
protected  JComboBox _colorList1
           
protected  JComboBox _colorList2
           
protected  JComboBox _colorList3
           
protected  JComboBox _colorList4
           
protected  ColorPository _colRepo
           
protected  RecolorImage.SliderAndLabel _hueD
           
protected  RecolorImage.SliderAndLabel _hueO
           
protected  BufferedImage _image
           
protected  JTextField _imagePath
           
protected  JCheckBox _labelColors
           
protected  JLabel _newImage
           
protected  JLabel _oldImage
           
protected  RecolorImage.SliderAndLabel _saturationD
           
protected  RecolorImage.SliderAndLabel _saturationO
           
protected  JTextField _source
           
protected  JTextField _status
           
protected  JTabbedPane _tabs
           
protected  JTextField _target
           
protected  RecolorImage.SliderAndLabel _valueD
           
protected  RecolorImage.SliderAndLabel _valueO
           
protected static String BROWSE_FOR_COLORIZATION_FILE
           
protected static String BROWSE_FOR_IMAGE_FILE
          The actions for our various buttons.
protected static PrefsConfig CONFIG
          Where we can stash our preferences.
protected static String CONVERT
           
protected static String IMAGE_PATH
           
protected static String LAST_COLORIZATION_KEY
           
protected static String LAST_IMAGE_KEY
          Keys for our preferences.
protected static String NONE
           
protected static String RELOAD_IMAGE
           
protected static String SAVE_COLORIZED_IMAGE
           
protected static String UPDATE_TARGET_COLOR
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
RecolorImage()
           
 
Method Summary
 void actionPerformed(ActionEvent event)
           
protected  void convert()
          Performs colorizations.
 BufferedImage getAllRecolors(boolean label)
          Gets an image with all recolorings of the selection colorization class.
static void main(String[] args)
           
 void mousePressed(MouseEvent event)
           
protected static float[] rgbToHSV(int rgb)
           
 void setColorizeFile(File path)
          Loads up the colorization classes from the specified file.
 void setImage(File path)
           
 void setupColors(JComboBox box, String className)
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_image

protected BufferedImage _image

_chooser

protected JFileChooser _chooser

_colChooser

protected JFileChooser _colChooser

_imagePath

protected JTextField _imagePath

_colFilePath

protected JTextField _colFilePath

_oldImage

protected JLabel _oldImage

_newImage

protected JLabel _newImage

_colorLabel

protected JPanel _colorLabel

_source

protected JTextField _source

_target

protected JTextField _target

_hueO

protected RecolorImage.SliderAndLabel _hueO

_saturationO

protected RecolorImage.SliderAndLabel _saturationO

_valueO

protected RecolorImage.SliderAndLabel _valueO

_hueD

protected RecolorImage.SliderAndLabel _hueD

_saturationD

protected RecolorImage.SliderAndLabel _saturationD

_valueD

protected RecolorImage.SliderAndLabel _valueD

_status

protected JTextField _status

_classList

protected JComboBox _classList

_classList1

protected JComboBox _classList1

_classList2

protected JComboBox _classList2

_classList3

protected JComboBox _classList3

_classList4

protected JComboBox _classList4

_colorList1

protected JComboBox _colorList1

_colorList2

protected JComboBox _colorList2

_colorList3

protected JComboBox _colorList3

_colorList4

protected JComboBox _colorList4

_labelColors

protected JCheckBox _labelColors

_tabs

protected JTabbedPane _tabs

_colRepo

protected ColorPository _colRepo

IMAGE_PATH

protected static final String IMAGE_PATH
See Also:
Constant Field Values

BROWSE_FOR_IMAGE_FILE

protected static final String BROWSE_FOR_IMAGE_FILE
The actions for our various buttons.

See Also:
Constant Field Values

RELOAD_IMAGE

protected static final String RELOAD_IMAGE
See Also:
Constant Field Values

BROWSE_FOR_COLORIZATION_FILE

protected static final String BROWSE_FOR_COLORIZATION_FILE
See Also:
Constant Field Values

SAVE_COLORIZED_IMAGE

protected static final String SAVE_COLORIZED_IMAGE
See Also:
Constant Field Values

UPDATE_TARGET_COLOR

protected static final String UPDATE_TARGET_COLOR
See Also:
Constant Field Values

CONVERT

protected static final String CONVERT
See Also:
Constant Field Values

CONFIG

protected static final PrefsConfig CONFIG
Where we can stash our preferences.


NONE

protected static final String NONE
See Also:
Constant Field Values

LAST_IMAGE_KEY

protected static final String LAST_IMAGE_KEY
Keys for our preferences.

See Also:
Constant Field Values

LAST_COLORIZATION_KEY

protected static final String LAST_COLORIZATION_KEY
See Also:
Constant Field Values
Constructor Detail

RecolorImage

public RecolorImage()
Method Detail

convert

protected void convert()
Performs colorizations.


getAllRecolors

public BufferedImage getAllRecolors(boolean label)
Gets an image with all recolorings of the selection colorization class.


actionPerformed

public void actionPerformed(ActionEvent event)
Specified by:
actionPerformed in interface ActionListener

setImage

public void setImage(File path)

setupColors

public void setupColors(JComboBox box,
                        String className)

setColorizeFile

public void setColorizeFile(File path)
Loads up the colorization classes from the specified file.


rgbToHSV

protected static float[] rgbToHSV(int rgb)

mousePressed

public void mousePressed(MouseEvent event)

main

public static void main(String[] args)