FileDocCategorySizeDatePackage
JPEGImageWriterSpi.javaAPI DocJava SE 5 API2883Fri Aug 26 14:54:42 BST 2005com.sun.imageio.plugins.jpeg

JPEGImageWriterSpi

public class JPEGImageWriterSpi extends ImageWriterSpi

Fields Summary
private static String[]
readerSpiNames
private boolean
registered
Constructors Summary
public JPEGImageWriterSpi()

    
      
        super(JPEG.vendor,
              JPEG.version,
              JPEG.names,
              JPEG.suffixes,
              JPEG.MIMETypes,
              "com.sun.imageio.plugins.jpeg.JPEGImageWriter",
              STANDARD_OUTPUT_TYPE,
              readerSpiNames,
              true,
              JPEG.nativeStreamMetadataFormatName,
              JPEG.nativeStreamMetadataFormatClassName,
              null, null,
              true,
              JPEG.nativeImageMetadataFormatName,
              JPEG.nativeImageMetadataFormatClassName,
              null, null
              );
    
Methods Summary
public booleancanEncodeImage(javax.imageio.ImageTypeSpecifier type)

        SampleModel sampleModel = type.getSampleModel();

        // Find the maximum bit depth across all channels
        int[] sampleSize = sampleModel.getSampleSize();
        int bitDepth = sampleSize[0];
        for (int i = 1; i < sampleSize.length; i++) {
            if (sampleSize[i] > bitDepth) {
                bitDepth = sampleSize[i];
            }
        }

        // 4450894: Ensure bitDepth is between 1 and 8
        if (bitDepth < 1 || bitDepth > 8) {
            return false;
        }

        return true;
    
public javax.imageio.ImageWritercreateWriterInstance(java.lang.Object extension)

        return new JPEGImageWriter(this);
    
public java.lang.StringgetDescription(java.util.Locale locale)

        return "Standard JPEG Image Writer";
    
public booleanisFormatLossless()

        return false;
    
public voidonRegistration(javax.imageio.spi.ServiceRegistry registry, java.lang.Class category)

        if (registered) {
            return;
        }
        try {
            java.security.AccessController.doPrivileged(
                new sun.security.action.LoadLibraryAction("jpeg"));
        } catch (Throwable e) { // Fail on any Throwable
            // if it can't be loaded, deregister and return
            registry.deregisterServiceProvider(this);
            return;
        }

        registered = true;