⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jpegimagewriterspi.java

📁 java jdk 1.4的源码
💻 JAVA
字号:
/* * @(#)JPEGImageWriterSpi.java	1.8 03/01/23 * * Copyright 2003 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package com.sun.imageio.plugins.jpeg;import javax.imageio.spi.ImageWriterSpi;import javax.imageio.spi.ServiceRegistry;import javax.imageio.spi.IIORegistry;import javax.imageio.ImageWriter;import javax.imageio.ImageTypeSpecifier;import javax.imageio.IIOException;import java.awt.image.ColorModel;import java.awt.image.IndexColorModel;import java.awt.image.SampleModel;import java.util.Locale;public class JPEGImageWriterSpi extends ImageWriterSpi {    private static String [] readerSpiNames =         {"com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi"};    private boolean registered = false;        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              );    }    public String getDescription(Locale locale) {        return "Standard JPEG Image Writer";    }    public void onRegistration(ServiceRegistry registry,                               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;    }    public boolean isFormatLossless() {        return false;    }    public boolean canEncodeImage(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 ImageWriter createWriterInstance(Object extension)        throws IIOException {        return new JPEGImageWriter(this);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -