當前位置: 首頁>>代碼示例>>Java>>正文


Java ImageReaderSpi.getImageWriterSpiNames方法代碼示例

本文整理匯總了Java中javax.imageio.spi.ImageReaderSpi.getImageWriterSpiNames方法的典型用法代碼示例。如果您正苦於以下問題:Java ImageReaderSpi.getImageWriterSpiNames方法的具體用法?Java ImageReaderSpi.getImageWriterSpiNames怎麽用?Java ImageReaderSpi.getImageWriterSpiNames使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在javax.imageio.spi.ImageReaderSpi的用法示例。


在下文中一共展示了ImageReaderSpi.getImageWriterSpiNames方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: getImageWriter

import javax.imageio.spi.ImageReaderSpi; //導入方法依賴的package包/類
/**
 * Retrieve an image writer corresponding to an image reader, or
 * null if reader is not registered or if no corresponding writer is
 * registered.  This method is useful for preserving metadata
 * without needing to understand its format, since the returned
 * writer will be able to write, unchanged, the metadata passed to
 * it by the reader.
 *
 * @param reader a registered image reader
 *
 * @return an image writer corresponding to reader, or null
 *
 * @exception IllegalArgumentException if reader is null
 */
public static ImageWriter getImageWriter (ImageReader reader)
{
  if (reader == null)
    throw new IllegalArgumentException ("null argument");

  ImageReaderSpi spi = reader.getOriginatingProvider();

  String[] writerSpiNames = spi.getImageWriterSpiNames();

  ImageWriter w = null;

  if (writerSpiNames != null)
    {
      try
        {
          Class writerClass = Class.forName (writerSpiNames[0]);
          w = (ImageWriter) writerClass.newInstance ();
        }
      catch (Exception e)
        {
          return null;
        }
    }
  return w;
}
 
開發者ID:vilie,項目名稱:javify,代碼行數:40,代碼來源:ImageIO.java

示例2: testSpi

import javax.imageio.spi.ImageReaderSpi; //導入方法依賴的package包/類
public void testSpi(ImageReaderSpi spi) {
    testSpi((ImageReaderWriterSpi)spi);
    Class[] inputTypes = spi.getInputTypes();
    if (inputTypes == null) {
        error("inputTypes == null!");
    }
    if (inputTypes.length == 0) {
        error("inputTypes.length == 0!");
    }
    String[] writerSpiNames = spi.getImageWriterSpiNames();
    if (writerSpiNames != null && writerSpiNames.length == 0) {
        error("writerSpiNames.length == 0!");
    }
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:15,代碼來源:SpiTest.java

示例3: testImageReaderSpiConstructor

import javax.imageio.spi.ImageReaderSpi; //導入方法依賴的package包/類
public void testImageReaderSpiConstructor() {
    resetConstructorArguments();

    checkImageReaderSpiConstructor(true);
    vendorName = "My Vendor";
    checkImageReaderSpiConstructor(true);
    version = "My Version";
    checkImageReaderSpiConstructor(true);
    names = new String[0];
    checkImageReaderSpiConstructor(true);
    names = new String[1];
    names[0] = "My Format Name";
    checkImageReaderSpiConstructor(true);
    readerClassName = "com.mycompany.Reader";
    checkImageReaderSpiConstructor(true);
    inputTypes = new Class[0];
    checkImageReaderSpiConstructor(true);
    inputTypes = new Class[1];
    inputTypes[0] = Object.class;
    // Now it should work
    checkImageReaderSpiConstructor(false);

    // Test normalization of zero-length arrays
    suffixes = new String[0];
    MIMETypes = new String[0];
    writerSpiNames = new String[0];
    extraStreamMetadataFormatNames = new String[0];
    extraImageMetadataFormatNames = new String[0];

    ImageReaderSpi spi = constructImageReaderSpi();
    if (spi.getFileSuffixes() != null) {
        error("Failed to normalize suffixes!");
    }
    if (spi.getMIMETypes() != null) {
        error("Failed to normalize MIMETypes!");
    }
    if (spi.getImageWriterSpiNames() != null) {
        error("Failed to normalize writerSpiNames!");
    }
    if (spi.getExtraStreamMetadataFormatNames() != null) {
        error("Failed to normalize extraStreamMetadataFormatNames!");
    }
    if (spi.getExtraImageMetadataFormatNames() != null) {
        error("Failed to normalize extraImageMetadataFormatNames!");
    }
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:47,代碼來源:SpiTest.java

示例4: testFormat

import javax.imageio.spi.ImageReaderSpi; //導入方法依賴的package包/類
public static void testFormat(String format) {
    ImageReader reader =
        ImageIO.getImageReadersByFormatName(format).next();
    if (reader == null) {
        throw new RuntimeException("Failed to get reader for " + format);
    }

    ImageReaderSpi readerSpi = reader.getOriginatingProvider();
    System.out.println(format + " Reader SPI: " + readerSpi);

    String writerSpiNames[] = readerSpi.getImageWriterSpiNames();
    if (writerSpiNames == null || writerSpiNames.length == 0) {
        throw new RuntimeException("Failed to get writer spi names for " +
                                   format);
    }

    System.out.println("Available writer spi names:");
    for (int i = 0; i < writerSpiNames.length; i++) {
        System.out.println(writerSpiNames[i]);
        try {
            Class spiClass = Class.forName(writerSpiNames[i]);
            if (spiClass == null) {
                throw new RuntimeException("Failed to get spi class " +
                                           writerSpiNames[i]);
            }
            System.out.println("Got class " + spiClass.getName());

            Object spiObject = spiClass.newInstance();
            if (spiObject == null) {
                throw new RuntimeException("Failed to instantiate spi " +
                                           writerSpiNames[i]);
            }
            System.out.println("Got instance " + spiObject);
        } catch (Throwable e) {
            throw new RuntimeException("Failed to test spi " +
                                       writerSpiNames[i]);
        }
    }

    ImageWriter writer = ImageIO.getImageWriter(reader);
    if (writer == null) {
        throw new RuntimeException("Failed to get writer for " + format);
    }
}
 
開發者ID:AdoptOpenJDK,項目名稱:openjdk-jdk10,代碼行數:45,代碼來源:PluginSpiTest.java


注:本文中的javax.imageio.spi.ImageReaderSpi.getImageWriterSpiNames方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。