Package net.sourceforge.jiu.data

Examples of net.sourceforge.jiu.data.Palette


    {
      return null;
    }
    int width = image.getWidth();
    int height = image.getHeight();
    Palette palette = image.getPalette();
    if (width < 1 || height < 1 || palette == null)
    {
      return null;
    }
    int[] red = new int[palette.getNumEntries()];
    int[] green = new int[palette.getNumEntries()];
    int[] blue = new int[palette.getNumEntries()];
    for (int i = 0; i < palette.getNumEntries(); i++)
    {
      red[i] = palette.getSample(RGBIndex.INDEX_RED, i);
      green[i] = palette.getSample(RGBIndex.INDEX_GREEN, i);
      blue[i] = palette.getSample(RGBIndex.INDEX_BLUE, i);
    }
    int[] pixels = new int[width * height];
    byte[] data = new byte[width];
    int destOffset = 0;
    for (int y = 0; y < height; y++)
View Full Code Here


    setBoundsIfNecessary(width, height);
    width = getBoundsWidth();
    height = getBoundsHeight();
    if (image instanceof Paletted8Image)
    {
      Palette palette = ((Paletted8Image)image).getPalette();
      int numEntries = palette.getNumEntries();
      if (numEntries < 1 || numEntries > 256)
      {
        throw new WrongParameterException("Palette of image to be saved must have 1..256 entries.");
      }
      bitsPerPixel = 8;
View Full Code Here

  private void writePalette() throws IOException
  {
    PixelImage image = getImage();
    if (image instanceof Paletted8Image)
    {
      Palette palette = ((Paletted8Image)image).getPalette();
      int numEntries = 1 << bitsPerPixel;
      for (int i = 0; i < numEntries; i++)
      {
        if (i < palette.getNumEntries())
        {
          out.write(palette.getSample(RGBIndex.INDEX_RED, i));
          out.write(palette.getSample(RGBIndex.INDEX_GREEN, i));
          out.write(palette.getSample(RGBIndex.INDEX_BLUE, i));
        }
        else
        {
          out.write(0);
          out.write(0);
View Full Code Here

      if (bytesToSkip < 0)
      {
        throw new InvalidFileStructureException("Not enough space in header for palette with " +
          numPaletteEntries + "entries.");
      }
      palette = new Palette(numPaletteEntries);
      for (int index = 0; index < numPaletteEntries; index++)
      {
        int blue = in.readUnsignedByte();
        int green = in.readUnsignedByte();
        int red = in.readUnsignedByte();
View Full Code Here

    }
    if (pi instanceof Paletted8Image)
    {
      // always write 256 entries; if there aren't enough
      // in the palette, fill it up to 256 with (0, 0, 0, 0)
      Palette palette = ((Paletted8Image)pi).getPalette();
      for (int i = 0; i < 256; i++)
      {
        if (i < palette.getNumEntries())
        {
          out.write(palette.getSample(RGBIndex.INDEX_BLUE, i));
          out.write(palette.getSample(RGBIndex.INDEX_GREEN, i));
          out.write(palette.getSample(RGBIndex.INDEX_RED, i));
          out.write(0);
        }
        else
        {
          out.writeInt(0); // writes four 0 bytes
View Full Code Here

  private int version;
  private int width;

  private static Palette createPalette(short[][] data)
  {
    Palette result = new Palette(data.length);
    for (int i = 0; i < data.length; i++)
    {
      result.put(i, data[i][0], data[i][1], data[i][2]);
    }
    return result;
  }
View Full Code Here

    int numEntries = in.readShort() & 0xffff;
    if (numEntries < 1 || numEntries > 256)
    {
      throw new WrongFileFormatException("Not a Palm image file, invalid number of palette entries: "  + numEntries);
    }
    palette = new Palette(numEntries, 255);
    for (int i = 0; i < numEntries; i++)
    {
      //int reserved = in.readUnsignedByte();
      in.readUnsignedByte();
      int red = in.readUnsignedByte();
View Full Code Here

    saveFinalCompressedSize(out);
  }

  private void save(DataOutput out, Paletted8Image image) throws IOException
  {
    Palette palette = image.getPalette();
    boolean system256Palette = isPalmSystemPalette256(palette);
    boolean system16GrayPalette = isPalmSystemPaletteGray16(palette);
    boolean system16ColorPalette = isPalmSystemPaletteColor16(palette);
    boolean system4GrayPalette = isPalmSystemPaletteGray4(palette);
    boolean customPalette = !(system256Palette || system16GrayPalette || system16ColorPalette || system4GrayPalette);
    if (customPalette)
    {
      flags |= FLAG_COLOR_TABLE;
    }
    // determine bits per pixel, bytesPerRow
    if (palette.getNumEntries() <= 4)
    {
      bitsPerPixel = 2;
      bytesPerRow = (width + 3) / 4;
    }
    else
    if (palette.getNumEntries() <= 16)
    {
      bitsPerPixel = 4;
      bytesPerRow = (width + 1) / 2;
    }
    else
View Full Code Here

          " Color map length was expected to be 768 (found " +
          colorModeSize + ").");
      }
      colorMap = new byte[colorModeSize];
      in.readFully(colorMap);
      palette = new Palette(256, 255);
      for (int index = 0; index < 256; index++)
      {
        palette.putSample(Palette.INDEX_RED, index, colorMap[index] & 0xff);
        palette.putSample(Palette.INDEX_GREEN, index, colorMap[256 + index] & 0xff);
        palette.putSample(Palette.INDEX_BLUE, index, colorMap[512 + index] & 0xff);
View Full Code Here

  private void process(RGB24Image image1, Paletted8Image image2)
  {
    final int HEIGHT = image1.getHeight();
    final int WIDTH = image1.getWidth();
    long sum = 0;
    Palette pal = image2.getPalette();
    int[] red = pal.getSamples(RGBIndex.INDEX_RED);
    int[] green = pal.getSamples(RGBIndex.INDEX_GREEN);
    int[] blue = pal.getSamples(RGBIndex.INDEX_BLUE);
    for (int y = 0; y < HEIGHT; y++)
    {
      for (int x = 0; x < WIDTH; x++)
      {
        int palSample = image2.getSample(x, y);
View Full Code Here

TOP

Related Classes of net.sourceforge.jiu.data.Palette

Copyright © 2018 www.massapicom. 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.