com.sun.j3d.utils.image

## Class TextureLoader

- java.lang.Object
- - com.sun.j3d.utils.image.TextureLoader

-     public class TextureLoader
      extends java.lang.Object

  This class is used for loading a texture from an Image or BufferedImage. The Image I/O API is used to load the images. (If the JAI IIO Tools package is available, a larger set of formats can be loaded, including TIFF, JPEG2000, and so on.) Methods are provided to retrieve the Texture object and the associated ImageComponent object or a scaled version of the ImageComponent object. Default format is RGBA. Other legal formats are: RGBA, RGBA4, RGB5_A1, RGB, RGB4, RGB5, R3_G3_B2, LUM8_ALPHA8, LUM4_ALPHA4, LUMINANCE and ALPHA

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `ALLOW_NON_POWER_OF_TWO` Optional flag - specifies that the ImageComponent2D is allowed to have dimensions that are not a power of two.
    `static int` | `BY_REFERENCE` Optional flag - specifies that the ImageComponent2D will access the image data by reference
    `static int` | `GENERATE_MIPMAP` Optional flag - specifies that mipmaps are generated for all levels
    `static int` | `Y_UP` Optional flag - specifies that the ImageComponent2D will have a y-orientation of y up, meaning the origin of the image is the lower left

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TextureLoader(java.awt.image.BufferedImage bImage)` Contructs a TextureLoader object using the specified BufferedImage and default format RGBA
    `TextureLoader(java.awt.image.BufferedImage bImage, int flags)` Contructs a TextureLoader object using the specified BufferedImage, option flags and default format RGBA
    `TextureLoader(java.awt.image.BufferedImage bImage, java.lang.String format)` Contructs a TextureLoader object using the specified BufferedImage and format
    `TextureLoader(java.awt.image.BufferedImage bImage, java.lang.String format, int flags)` Contructs a TextureLoader object using the specified BufferedImage, format and option flags
    `TextureLoader(java.awt.Image image, java.awt.Component observer)` Contructs a TextureLoader object using the specified Image and default format RGBA
    `TextureLoader(java.awt.Image image, int flags, java.awt.Component observer)` Contructs a TextureLoader object using the specified Image flags and default format RGBA
    `TextureLoader(java.awt.Image image, java.lang.String format, java.awt.Component observer)` Contructs a TextureLoader object using the specified Image and format
    `TextureLoader(java.awt.Image image, java.lang.String format, int flags, java.awt.Component observer)` Contructs a TextureLoader object using the specified Image format and option flags
    `TextureLoader(java.lang.String fname, java.awt.Component observer)` Contructs a TextureLoader object using the specified file and default format RGBA
    `TextureLoader(java.lang.String fname, int flags, java.awt.Component observer)` Contructs a TextureLoader object using the specified file, option flags and default format RGBA
    `TextureLoader(java.lang.String fname, java.lang.String format, java.awt.Component observer)` Contructs a TextureLoader object using the specified file, and format
    `TextureLoader(java.lang.String fname, java.lang.String format, int flags, java.awt.Component observer)` Contructs a TextureLoader object using the specified file, format and option flags
    `TextureLoader(java.net.URL url, java.awt.Component observer)` Contructs a TextureLoader object using the specified URL and default format RGBA
    `TextureLoader(java.net.URL url, int flags, java.awt.Component observer)` Contructs a TextureLoader object using the specified URL, option flags and default format RGBA
    `TextureLoader(java.net.URL url, java.lang.String format, java.awt.Component observer)` Contructs a TextureLoader object using the specified URL, and format
    `TextureLoader(java.net.URL url, java.lang.String format, int flags, java.awt.Component observer)` Contructs a TextureLoader object using the specified URL, format and option flags

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ImageComponent2D` | `getImage()` Returns the associated ImageComponent2D object
    `ImageComponent2D` | `getScaledImage(float xScale, float yScale)` Returns the scaled ImageComponent2D object
    `ImageComponent2D` | `getScaledImage(int width, int height)` Returns the scaled ImageComponent2D object
    `Texture` | `getTexture()` Returns the associated Texture object.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### GENERATE_MIPMAP

          public static final int GENERATE_MIPMAP

      Optional flag - specifies that mipmaps are generated for all levels
      See Also:
        Constant Field Values

    - #### BY_REFERENCE

          public static final int BY_REFERENCE

      Optional flag - specifies that the ImageComponent2D will access the image data by reference
      Since:
        Java 3D 1.2
      See Also:
        Constant Field Values

    - #### Y_UP

          public static final int Y_UP

      Optional flag - specifies that the ImageComponent2D will have a y-orientation of y up, meaning the origin of the image is the lower left
      Since:
        Java 3D 1.2
      See Also:
        Constant Field Values

    - #### ALLOW_NON_POWER_OF_TWO

          public static final int ALLOW_NON_POWER_OF_TWO

      Optional flag - specifies that the ImageComponent2D is allowed to have dimensions that are not a power of two. If this flag is set, TextureLoader will not perform any scaling of images. If this flag is not set, images will be scaled to the nearest power of two. This is the default mode.

      Note that non-power-of-two textures may not be supported by all graphics cards. Applications should check whether a particular Canvas3D supports non-power-of-two textures by calling the `Canvas3D.queryProperties()` method, and checking whether the `textureNonPowerOfTwoAvailable` property is set to true.

      Since:
        Java 3D 1.5
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### TextureLoader

          public TextureLoader(java.awt.image.BufferedImage bImage)

      Contructs a TextureLoader object using the specified BufferedImage and default format RGBA
      Parameters:
        `bImage` - The BufferedImage used for loading the texture
      Throws:
        `java.lang.NullPointerException` - if bImage is null

    - #### TextureLoader

          public TextureLoader(java.awt.image.BufferedImage bImage,
                       java.lang.String format)

      Contructs a TextureLoader object using the specified BufferedImage and format
      Parameters:
        `bImage` - The BufferedImage used for loading the texture
        `format` - The format specifies which channels to use
      Throws:
        `java.lang.NullPointerException` - if bImage is null

    - #### TextureLoader

          public TextureLoader(java.awt.image.BufferedImage bImage,
                       int flags)

      Contructs a TextureLoader object using the specified BufferedImage, option flags and default format RGBA
      Parameters:
        `bImage` - The BufferedImage used for loading the texture
        `flags` - The flags specify what options to use in texture loading (generate mipmap etc)
      Throws:
        `java.lang.NullPointerException` - if bImage is null

    - #### TextureLoader

          public TextureLoader(java.awt.image.BufferedImage bImage,
                       java.lang.String format,
                       int flags)

      Contructs a TextureLoader object using the specified BufferedImage, format and option flags
      Parameters:
        `bImage` - The BufferedImage used for loading the texture
        `format` - The format specifies which channels to use
        `flags` - The flags specify what options to use in texture loading (generate mipmap etc)
      Throws:
        `java.lang.NullPointerException` - if bImage is null

    - #### TextureLoader

          public TextureLoader(java.awt.Image image,
                       java.awt.Component observer)

      Contructs a TextureLoader object using the specified Image and default format RGBA
      Parameters:
        `image` - The Image used for loading the texture
        `observer` - The associated image observer
      Throws:
        `java.lang.NullPointerException` - if image is null
        `ImageException` - if there is a problem loading the image

    - #### TextureLoader

          public TextureLoader(java.awt.Image image,
                       java.lang.String format,
                       java.awt.Component observer)

      Contructs a TextureLoader object using the specified Image and format
      Parameters:
        `image` - The Image used for loading the texture
        `format` - The format specifies which channels to use
        `observer` - The associated image observer
      Throws:
        `java.lang.NullPointerException` - if image is null
        `ImageException` - if there is a problem loading the image

    - #### TextureLoader

          public TextureLoader(java.awt.Image image,
                       int flags,
                       java.awt.Component observer)

      Contructs a TextureLoader object using the specified Image flags and default format RGBA
      Parameters:
        `image` - The Image used for loading the texture
        `flags` - The flags specify what options to use in texture loading (generate mipmap etc)
        `observer` - The associated image observer
      Throws:
        `java.lang.NullPointerException` - if image is null
        `ImageException` - if there is a problem loading the image

    - #### TextureLoader

          public TextureLoader(java.awt.Image image,
                       java.lang.String format,
                       int flags,
                       java.awt.Component observer)

      Contructs a TextureLoader object using the specified Image format and option flags
      Parameters:
        `image` - The Image used for loading the texture
        `format` - The format specifies which channels to use
        `flags` - The flags specify what options to use in texture loading (generate mipmap etc)
        `observer` - The associated image observer
      Throws:
        `java.lang.NullPointerException` - if image is null
        `ImageException` - if there is a problem loading the image

    - #### TextureLoader

          public TextureLoader(java.lang.String fname,
                       java.awt.Component observer)

      Contructs a TextureLoader object using the specified file and default format RGBA
      Parameters:
        `fname` - The file that specifies an Image to load the texture with
        `observer` - The associated image observer
      Throws:
        `ImageException` - if there is a problem reading the image

    - #### TextureLoader

          public TextureLoader(java.lang.String fname,
                       java.lang.String format,
                       java.awt.Component observer)

      Contructs a TextureLoader object using the specified file, and format
      Parameters:
        `fname` - The file that specifies an Image to load the texture with
        `format` - The format specifies which channels to use
        `observer` - The associated image observer
      Throws:
        `ImageException` - if there is a problem reading the image

    - #### TextureLoader

          public TextureLoader(java.lang.String fname,
                       int flags,
                       java.awt.Component observer)

      Contructs a TextureLoader object using the specified file, option flags and default format RGBA
      Parameters:
        `fname` - The file that specifies an Image to load the texture with
        `flags` - The flags specify what options to use in texture loading (generate mipmap etc)
        `observer` - The associated image observer
      Throws:
        `ImageException` - if there is a problem reading the image

    - #### TextureLoader

          public TextureLoader(java.lang.String fname,
                       java.lang.String format,
                       int flags,
                       java.awt.Component observer)

      Contructs a TextureLoader object using the specified file, format and option flags
      Parameters:
        `fname` - The file that specifies an Image to load the texture with
        `format` - The format specifies which channels to use
        `flags` - The flags specify what options to use in texture loading (generate mipmap etc)
        `observer` - The associated image observer
      Throws:
        `ImageException` - if there is a problem reading the image

    - #### TextureLoader

          public TextureLoader(java.net.URL url,
                       java.awt.Component observer)

      Contructs a TextureLoader object using the specified URL and default format RGBA
      Parameters:
        `url` - The URL that specifies an Image to load the texture with
        `observer` - The associated image observer
      Throws:
        `ImageException` - if there is a problem reading the image

    - #### TextureLoader

          public TextureLoader(java.net.URL url,
                       java.lang.String format,
                       java.awt.Component observer)

      Contructs a TextureLoader object using the specified URL, and format
      Parameters:
        `url` - The URL that specifies an Image to load the texture with
        `format` - The format specifies which channels to use
        `observer` - The associated image observer
      Throws:
        `ImageException` - if there is a problem reading the image

    - #### TextureLoader

          public TextureLoader(java.net.URL url,
                       int flags,
                       java.awt.Component observer)

      Contructs a TextureLoader object using the specified URL, option flags and default format RGBA
      Parameters:
        `url` - The URL that specifies an Image to load the texture with
        `flags` - The flags specify what options to use in texture loading (generate mipmap etc)
        `observer` - The associated image observer
      Throws:
        `ImageException` - if there is a problem reading the image

    - #### TextureLoader

          public TextureLoader(java.net.URL url,
                       java.lang.String format,
                       int flags,
                       java.awt.Component observer)

      Contructs a TextureLoader object using the specified URL, format and option flags
      Parameters:
        `url` - The url that specifies an Image to load the texture with
        `format` - The format specifies which channels to use
        `flags` - The flags specify what options to use in texture loading (generate mipmap etc)
        `observer` - The associated image observer
      Throws:
        `ImageException` - if there is a problem reading the image

  - ### Method Detail

    - #### getImage

          public ImageComponent2D getImage()

      Returns the associated ImageComponent2D object
      Returns:
        The associated ImageComponent2D object

    - #### getScaledImage

          public ImageComponent2D getScaledImage(float xScale,
                                        float yScale)

      Returns the scaled ImageComponent2D object
      Parameters:
        `xScale` - The X scaling factor
        `yScale` - The Y scaling factor
      Returns:
        The scaled ImageComponent2D object

    - #### getScaledImage

          public ImageComponent2D getScaledImage(int width,
                                        int height)

      Returns the scaled ImageComponent2D object
      Parameters:
        `width` - The desired width
        `height` - The desired height
      Returns:
        The scaled ImageComponent2D object

    - #### getTexture

          public Texture getTexture()

      Returns the associated Texture object.
      Returns:
        The associated Texture object

Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.