?? readme-jai.txt
字號:
SerializableRenderedImage. This was in response to a customer-reported
problem wherein the value returned by hashCode() did not guarantee
sufficient uniqueness of keys of tiles in the TileCache when the
application was run for an extended period. The default JAI TileCache
has been changed to use this new ID type.
Operations
* New Operations
o ColorQuantizer
This operation generates a LookupTableJAI-valued property which
may be used to quantize the colors in an image via the
ErrorDiffusion operation. The operation may also be used to apply
this same colormap to generate a color quantized image using the
nearest color approach. Color quantization algorithms supported
are Median Cut, Oct-tree, and Neural Network. Only a Java
implementation is provided. Please refer to
javax.media.jai.operator.ColorQuantizer for the details.
This operation was added in response to customer comments observed
on the jai-interest mailing list.
o Mosaic
This operation combines two or more source images to create a
montage or image mosaic depending on the supplied parameters. Both
native and Java implementations are provided. Please refer to
javax.media.jai.operator.MosaicDescriptor for the details.
o SubsampleAverage
This operation subsamples an image by averaging over a
scale-dependent moving window. Both native and Java
implementations are provided. Please refer to
javax.media.jai.operator.SubsampleAverageDescriptor for the
details. This operation should prove quite useful in generating
high quality thumbnail images and in scaling down bilevel images
such as documents.
This operation was added in response to customer comments observed
on the jai-interest mailing list.
* Modifications of Existing Operations
o Geometric Operations
A double[]-valued parameter backgroundValues was appended to the
parameter list of each of the "Affine", "Rotate", "Shear", and
"Warp" operations. The value so specified will be used to fill all
pixels in the destination image the locations of which cannot be
backward mapped to a source image position amenable to
interpolation.
These changes were made in response to customer comments observed
on the jai-interest mailing list.
o Composite
The specification of the "composite" operation is updated such
that the source1Alpha and source1Alpha parameters are
RenderedImages in the "rendered" mode and are RenderableImages in
the "renderable" mode.
o Extrema
The operation was changed to allow the locations of extrema to be
obtained.Each location is saved as a run length code. A boolean
parameter saveLocations indicates whether to save the locations of
the extrema and an integer parameter maxRuns specifies the maximum
number of run lengths to save. The locations of minima are
available on the operation node as a List-valued property named
minLocations and the locations of the maxima are available as a
List-valued property named maxLocations.
o Filestore
A pair of modifications were made to this opertion.
Firstly, the FileStore operation formerly threw an
IllegalArgumentException if the operation was created on a client
and the path existed only on the server. This was fixed by
appending a Boolean parameter called checkFileLocally to the
parameter list. The use of this parameter is self-descriptive.
Please refer to javax.media.jai.operator.FileStoreDescriptor for
more information on the operation.
Secondly, the operation was modified to use a SeekableOutputStream
so that (TIFF) compression may be effected with less effort.
o FilteredSubsample
A scale-dependent default value was added for the quadrant
symmetric filter parameter. This should improve the usability of
this operation as the developer no longer is required to derive
any filter coefficients.
This operation was modified in response to customer comments
observed on the jai-interest mailing list.
o Histogram
Native acceleration support was added for the cases of
non-floating point data.
o Scale
The specification of the scale operation has been updated such
that the resultant image dimensions are no longer dependent on the
interpolation scheme used in the scale operation. Please refer to
javax.media.jai.operator.ScaleDescriptor and
javax.media.jai.ScaleOpImage for details on the new specification.
This operation was modified in response to customer comments
observed on the jai-interest mailing list.
Network Imaging
* Server Configuration
This release provides options for configuring the Remote Imaging server
for the "jairmi" protocol that is provided with JAI. These server
configuration parameters can be specified via the command line when
starting the server. All the command line options are detailed in the
Javadoc for javax.media.jai.remote.JAIRMIDescriptor
Another mechanism to perform server configuration is by implemeting the
JAIServerConfigurationSpi interface and putting the implementation on
the CLASSPATH. For further details please refer to
javax.media.jai.remote.JAIRMIDescriptor and
com.sun.media.jai.remote.JAIServerConfigurationSpi Javadoc.
Widget Package
* com.sun.media.jai.widget Package
This package was added containing for the time being the single class
DisplayJAI which has been previously supplied to the JAI mailing list.
It is likely that the current content of the deprecated package
javax.media.jai.widget will be moved to this package eventually.
Fixed Bugs
Many problems originally reported as bugs have actually been fixed by virtue
of the changes described above. Some of the other salient problems which
have also been fixed include the following.
* Native implementation of the SubsampleBinaryToGray operation throws an
ArrayIndexOutOfBoundsException.
This was observed by a customer processing document images.
* TiledImageGraphics cannot draw objects correctly if a transform is done
on it.
This was observed by a customer as a discrepancy with respect to
Graphics2D.
* JAI may not work with JRE due to missing default ICC profiles.
This problem was observed by a customer when using a version of the JRE
some of which do not include in particular the PYCC profile.
* ClassCastException for multi-source point ops with non- PlanarImage
sources.
This bug was observed by a customer attempting to take the "max" of two
BufferedImages.
* Eliminate window pop-up on Windows when using native acceleration.
Customers reported observing a black window pop up and disappear. This
was due to the application used to check for MMX availability. This
application has been modified so that this does not occur.
* Format operation did not convert an indexed-color image.
When the Format operation was applied to an image having an
IndexColorModel and RenderingHints specifying a 24-bit ColorModel and
compatible SampleModel, the output image did not have the desired
24-bit ColorModel.
* RenderableOp.createScaledRendering() did not produce an image with the
desired dimensions.
If the scale factors derived internally had a ratio within a tolerance
of the unity value then one factor was changed. This computation has
been modified not to change the derived scale factors.
Changes From JAI 1.1.2-beta to JAI 1.1.2-RC
The changes made to JAI between the release of version 1.1.2-beta and
1.1.2-RC are all bug fixes or minor enhancements. Many of these changes were
made in response to customer feedback primarily on the jai-interest mailing
list.
Bugs Fixed in JAI 1.1.2-RC
* Regression in TIFF LZW decoder in JAI 1.1.1-to-1.1.1_01 transition.
Some TIFF images when compressed using the LZW algorithm were able to
be loaded in JAI 1.1.1 but not in JAI 1.1.1_01.
* TiledImage sources caused ArrayOutOfBoundsExceptions when used in
statistical operations.
This problem was observed as of JAI 1.1.1_01. This problem was
previously reported on the JAI bugs page as follows:
ArrayOutOfBoundsExceptions may be thrown when PixelAccessor is used
with Rasters derived from an image when the image and Raster have
different SampleModels.
* Code to disable property com.sun.media.jai.disableMediaLib moved ahead
of native library search.
This eliminates a warning message being printed.
* JAI should silence exception on RenderingKeys being re-registered.
When JAI runs in a server environment the JAI class may be garbage
collected and reloaded causing re-registration of RenderingKeys. This
exception should be caught and suppressed. Note that the fix works only
in version 1.4 or higher of J2SE.
* Tiles from the "fileload" operation are not recycled.
* Native acceleration does not support 8-bit to bilevel dithering.
* Exception occurs when native acceleration used with 3x3 kernel and
bilevel image.
* "Extrema" operation incorrectly initializes the extremal values.
The first pixel of the image was always used to initialize the extremal
values which is incorrect when the ROI does not include this pixel.
* "Mosaic" alpha-blend variant has numerical innaccuracies when used with
native acceleration.
New methods added to the native libraries allow alpha-blend mosaicking
to be performed with full precision. This problem was previously
reported on the JAI bugs page.
* Native acceleration of dithering fails on Linux.
* javax.media.jai.operator.MosaicType missing documentation.
Enhancements Added in JAI 1.1.2-RC
* Native USHORT (unsigned short) acceleration not enabled for many
operations.
Although available in the native libraries, acceleration for a number
of operations had not been enabled for the USHORT data type. The
operations are as follows:
o Absolute
o AddConst
o Affine (case using InterpolationTable only; nearest neighbor,
bilinear, and bicubic cases were already accelerated)
o AndConst
o BandCombine
o BandSelect
o Binarize
o Clamp
o Composite
o Convolve (general case: kernel is non-separable and does not have
dimensions 3x3 or 5x5; cases with kernels which are separable or
have dimensions 3x3 or 5x5 were already accelerated)
o DCT
o DFT
o Dilate
o DivideByConst
o Divide
o DivideIntoConst
o Erode
o Exp
o Extrema
o FilteredSubsample
o Gradient
o IDCT
o IDFT
o Invert
o Log
o Lookup
o Max
o MaxFilter
o Mean
o MedianFilter
o Min
o MinFilter
o Mosaic
o MultiplyConst
o Multiply
o OrConst
o Rescale
o Scale (case usi
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -