本文整理汇总了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();
}
示例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);
}
}
}
示例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);
}
}
}
示例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();
}
示例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();
}
}
示例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());
}
示例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());
}