当前位置: 首页>>代码示例>>Java>>正文


Java ImageInputStreamSpi类代码示例

本文整理汇总了Java中javax.imageio.spi.ImageInputStreamSpi的典型用法代码示例。如果您正苦于以下问题:Java ImageInputStreamSpi类的具体用法?Java ImageInputStreamSpi怎么用?Java ImageInputStreamSpi使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ImageInputStreamSpi类属于javax.imageio.spi包,在下文中一共展示了ImageInputStreamSpi类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: main

import javax.imageio.spi.ImageInputStreamSpi; //导入依赖的package包/类
public static void main(String[] args) throws IOException,
                                              MalformedURLException {

    /* deregister ImageOutputStreamSpi so that we creatImageOutputStream
     * returns null while writing.
     */
    localRegistry.deregisterAll(ImageOutputStreamSpi.class);
    /* verify possible ImageIO.write() scenario's for null stream output
     * from createImageOutputStream() API in ImageIO class.
     */
    verifyFileWrite();
    verifyStreamWrite();

    /* deregister ImageInputStreamSpi so that we creatImageInputStream
     * returns null while reading.
     */
    localRegistry.deregisterAll(ImageInputStreamSpi.class);
    /* verify possible ImageIO.read() scenario's for null stream output
     * from createImageInputStream API in ImageIO class.
     */
    verifyFileRead();
    verifyStreamRead();
    verifyUrlRead();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:25,代码来源:NullStreamCheckTest.java

示例2: registerSpi

import javax.imageio.spi.ImageInputStreamSpi; //导入依赖的package包/类
private void registerSpi() {
    // We will register a new Spi for creating NIO-based ImageInputStreams.
    final IIORegistry defaultInstance = IIORegistry.getDefaultInstance();
    Iterator<ImageInputStreamSpi> serviceProviders = defaultInstance.getServiceProviders(ImageInputStreamSpi.class, true);
    ImageInputStreamSpi toUnorder = null;
    if (defaultInstance.getServiceProviderByClass(FileImageInputStreamSpi.class) == null) {
        // register only if not already registered
        while (serviceProviders.hasNext()) {
            ImageInputStreamSpi current = serviceProviders.next();
            if (current.getInputClass() == File.class) {
                toUnorder = current;
                break;
            }
        }
        channelImageInputStreamSpi = new FileImageInputStreamSpi();
        defaultInstance.registerServiceProvider(channelImageInputStreamSpi);
        if (toUnorder != null) {
            // Make the custom Spi to be the first one to be used.
            defaultInstance.setOrdering(ImageInputStreamSpi.class, channelImageInputStreamSpi, toUnorder);
        }
    }
}
 
开发者ID:senbox-org,项目名称:s2tbx,代码行数:23,代码来源:RapidEyeReader.java

示例3: registerSpi

import javax.imageio.spi.ImageInputStreamSpi; //导入依赖的package包/类
/**
 * Registers a file image input strwM SPI for image input stream, if none is yet registered.
 */
protected void registerSpi() {
    final IIORegistry defaultInstance = IIORegistry.getDefaultInstance();
    Iterator<ImageInputStreamSpi> serviceProviders = defaultInstance.getServiceProviders(ImageInputStreamSpi.class, true);
    ImageInputStreamSpi toUnorder = null;
    if (defaultInstance.getServiceProviderByClass(FileImageInputStreamSpi.class) == null) {
        // register only if not already registered
        while (serviceProviders.hasNext()) {
            ImageInputStreamSpi current = serviceProviders.next();
            if (current.getInputClass() == File.class) {
                toUnorder = current;
                break;
            }
        }
        imageInputStreamSpi = new FileImageInputStreamSpi();
        defaultInstance.registerServiceProvider(imageInputStreamSpi);
        if (toUnorder != null) {
            // Make the custom Spi to be the first one to be used.
            defaultInstance.setOrdering(ImageInputStreamSpi.class, imageInputStreamSpi, toUnorder);
        }
    }
}
 
开发者ID:senbox-org,项目名称:s2tbx,代码行数:25,代码来源:GeoTiffBasedReader.java

示例4: main

import javax.imageio.spi.ImageInputStreamSpi; //导入依赖的package包/类
public static void main(String[] args) throws InterruptedException {

        final ArrayList<Class<?>> services = new ArrayList<Class<?>>();
        services.add(ImageInputStreamSpi.class);

        final ServiceRegistry reg = new ServiceRegistry(services.iterator());

        //create new thread for Registerer and Consumer Class
        Thread registerer = new Thread(new Registerer(reg));
        Thread consumer = new Thread(new Consumer(reg));

        //run both registerer and consumer thread parallely
        registerer.start();
        consumer.start();
    }
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:16,代码来源:ServiceRegistrySyncTest.java

示例5: run

import javax.imageio.spi.ImageInputStreamSpi; //导入依赖的package包/类
@Override
public void run() {
    start = System.currentTimeMillis();
    end = start + duration;
    while (start < end) {
        //access the ServiceProvider API
        reg.getServiceProviders(ImageInputStreamSpi.class, true);
        start = System.currentTimeMillis();
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:11,代码来源:ServiceRegistrySyncTest.java

示例6: createImageInputStream

import javax.imageio.spi.ImageInputStreamSpi; //导入依赖的package包/类
/**
 * Create an image input stream from the given object.  The
 * collection of ImageInputStreamSpis registered with the
 * IIORegistry is searched for an image input stream that can take
 * input from the given object.  null is returned if no such SPI is
 * registered.
 *
 * The image data will be cached in the current cache directory if
 * caching is enabled.
 *
 * @param input an object from which to read image data
 *
 * @return an ImageInputStream that can read data from input, or
 * null
 *
 * @exception IllegalArgumentException if input is null
 * @exception IOException if caching is required but not enabled
 */
public static ImageInputStream createImageInputStream (Object input)
  throws IOException
{
  if (input == null)
    throw new IllegalArgumentException ("null argument");

  Iterator spis = getRegistry().getServiceProviders
    (ImageInputStreamSpi.class, true);

  ImageInputStreamSpi foundSpi = null;

  while(spis.hasNext())
    {
      ImageInputStreamSpi spi = (ImageInputStreamSpi) spis.next();

      if (input.getClass().equals(spi.getInputClass()))
        {
          foundSpi = spi;
          break;
        }
    }

  return foundSpi == null ? null :
    foundSpi.createInputStreamInstance (input,
                                        getUseCache(),
                                        getCacheDirectory());
}
 
开发者ID:vilie,项目名称:javify,代码行数:46,代码来源:ImageIO.java

示例7: createImageInputStream

import javax.imageio.spi.ImageInputStreamSpi; //导入依赖的package包/类
/**
  * Create an image input stream from the given object.  The
  * collection of ImageInputStreamSpis registered with the
  * IIORegistry is searched for an image input stream that can take
  * input from the given object.  null is returned if no such SPI is
  * registered.
  *
  * The image data will be cached in the current cache directory if
  * caching is enabled.
  *
  * @param input an object from which to read image data
  *
  * @return an ImageInputStream that can read data from input, or
  * null
  *
  * @exception IllegalArgumentException if input is null
  * @exception IOException if caching is required but not enabled
  */
 public static ImageInputStream createImageInputStream (Object input)
   throws IOException
 {
   if (input == null)
     throw new IllegalArgumentException ("null argument");

   Iterator spis = getRegistry().getServiceProviders
     (ImageInputStreamSpi.class, true);

   ImageInputStreamSpi foundSpi = null;

   while(spis.hasNext())
     {
ImageInputStreamSpi spi = (ImageInputStreamSpi) spis.next();

if (input.getClass().equals(spi.getInputClass()))
  {
    foundSpi = spi;
    break;
  }
     }

   return foundSpi == null ? null :
     foundSpi.createInputStreamInstance (input,
                                         getUseCache(),
                                         getCacheDirectory());
 }
 
开发者ID:nmldiegues,项目名称:jvm-stm,代码行数:46,代码来源:ImageIO.java


注:本文中的javax.imageio.spi.ImageInputStreamSpi类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。