001/*002 * $RCSfile: PCXImageWriterSpi.java,v $003 *004 * 005 * Copyright (c) 2007 Sun Microsystems, Inc. All  Rights Reserved.006 * 007 * Redistribution and use in source and binary forms, with or without008 * modification, are permitted provided that the following conditions009 * are met: 010 * 011 * - Redistribution of source code must retain the above copyright 012 *   notice, this  list of conditions and the following disclaimer.013 * 014 * - Redistribution in binary form must reproduce the above copyright015 *   notice, this list of conditions and the following disclaimer in 016 *   the documentation and/or other materials provided with the017 *   distribution.018 * 019 * Neither the name of Sun Microsystems, Inc. or the names of 020 * contributors may be used to endorse or promote products derived 021 * from this software without specific prior written permission.022 * 023 * This software is provided "AS IS," without a warranty of any 024 * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND 025 * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, 026 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY027 * EXCLUDED. SUN MIDROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL 028 * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF 029 * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS030 * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR 031 * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,032 * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND033 * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR034 * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE035 * POSSIBILITY OF SUCH DAMAGES. 036 * 037 * You acknowledge that this software is not designed or intended for 038 * use in the design, construction, operation or maintenance of any 039 * nuclear facility. 040 *041 * $Revision: 1.1 $042 * $Date: 2007/09/05 00:21:08 $043 * $State: Exp $044 */045package com.github.jaiimageio.impl.plugins.pcx;046047import java.awt.image.DataBuffer;048import java.awt.image.SampleModel;049import java.awt.image.SinglePixelPackedSampleModel;050import java.util.Locale;051052import javax.imageio.IIOException;053import javax.imageio.ImageTypeSpecifier;054import javax.imageio.ImageWriter;055import javax.imageio.spi.ImageWriterSpi;056import javax.imageio.spi.ServiceRegistry;057058import com.github.jaiimageio.impl.common.PackageUtil;059060public class PCXImageWriterSpi extends ImageWriterSpi {061    private static String [] readerSpiNames =062        {"com.github.jaiimageio.impl.plugins.pcx.PCXImageReaderSpi"};063    private static String[] formatNames = {"pcx", "PCX"};064    private static String[] extensions = {"pcx"};065    private static String[] mimeTypes = {066        "image/pcx", "image/x-pcx", "image/x-windows-pcx", "image/x-pc-paintbrush"067    };068    private boolean registered = false;069070    public PCXImageWriterSpi() {071        super(PackageUtil.getVendor(),072              PackageUtil.getVersion(),073              formatNames,074              extensions,075              mimeTypes,076              "com.github.jaiimageio.impl.plugins.pcx.PCXImageWriter",077              STANDARD_OUTPUT_TYPE,078              readerSpiNames,079              false,080              null, null, null, null,081              true,082              null,083              null,084              null, null);085    }086087    public String getDescription(Locale locale) {088        String desc = PackageUtil.getSpecificationTitle() + 089            " PCX Image Writer";  090        return desc;091    }092093    public void onRegistration(ServiceRegistry registry, Class category) {094        if (registered) {095            return;096        }097        098        registered = true;099    }100101    public boolean canEncodeImage(ImageTypeSpecifier type) {102        int dataType= type.getSampleModel().getDataType();103        if (dataType < DataBuffer.TYPE_BYTE || dataType > DataBuffer.TYPE_INT)104            return false;105       106        SampleModel sm = type.getSampleModel();107        int numBands = sm.getNumBands();108        if (!(numBands == 1 || numBands == 3))109            return false;110        111        if (numBands == 1 && dataType != DataBuffer.TYPE_BYTE)112            return false;113        114        if (dataType > DataBuffer.TYPE_BYTE && !(sm instanceof SinglePixelPackedSampleModel))115            return false;116        117        return true;118    }119120    public ImageWriter createWriterInstance(Object extension)121        throws IIOException {122        return new PCXImageWriter(this);123    }124}


NOTHING
NOTHING
Add the Maven Dependecy to your project: maven dependecy for com.amazonaws : aws-java-sdk : 1.3.14