Package org.jwildfire.create.tina.palette

Source Code of org.jwildfire.create.tina.palette.RGBPaletteRenderer

/*
  JWildfire - an image and animation processor written in Java
  Copyright (C) 1995-2011 Andreas Maschke

  This is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser
  General Public License as published by the Free Software Foundation; either version 2.1 of the
  License, or (at your option) any later version.
  This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public License along with this software;
  if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jwildfire.create.tina.palette;

import org.jwildfire.image.SimpleImage;
import org.jwildfire.transform.ScaleAspect;
import org.jwildfire.transform.ScaleTransformer;
import org.jwildfire.transform.ScaleTransformer.Unit;

public class RGBPaletteRenderer {

  public SimpleImage renderHorizPalette(RGBPalette pPalette, int pWidth, int pHeight) {
    return renderHorizPalette(pPalette.getTransformedColors(), pWidth, pHeight);
  }

  public SimpleImage renderHorizPalette(RGBColor[] pColors, int pWidth, int pHeight) {
    if (pColors == null || pWidth < 1 || pHeight < 1)
      throw new IllegalArgumentException();
    SimpleImage img = new SimpleImage(RGBPalette.PALETTE_SIZE, pHeight);
    for (int i = 0; i < pColors.length; i++) {
      RGBColor color = pColors[i];
      if (color == null) {
        color = RGBPalette.BLACK;
      }
      int r = color.getRed();
      int g = color.getGreen();
      int b = color.getBlue();
      for (int j = 0; j < pHeight; j++) {
        img.setRGB(i, j, r, g, b);
      }
    }
    if (img.getImageWidth() != pWidth || img.getImageHeight() != pHeight) {
      ScaleTransformer scaleT = new ScaleTransformer();
      scaleT.setScaleWidth(pWidth);
      scaleT.setScaleHeight(pHeight);
      scaleT.setAspect(ScaleAspect.IGNORE);
      scaleT.setUnit(Unit.PIXELS);
      scaleT.transformImage(img);
    }
    return img;
  }

}
TOP

Related Classes of org.jwildfire.create.tina.palette.RGBPaletteRenderer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.