本文整理了Java中javax.imageio.ImageIO.getImageReaders()
方法的一些代码示例,展示了ImageIO.getImageReaders()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ImageIO.getImageReaders()
方法的具体详情如下:
包路径:javax.imageio.ImageIO
类名称:ImageIO
方法名:getImageReaders
暂无
代码示例来源:origin: robolectric/robolectric
public static Point getImageSizeFromStream(InputStream is) {
if (!initialized) {
// Stops ImageIO from creating temp files when reading images
// from input stream.
ImageIO.setUseCache(false);
initialized = true;
}
try {
ImageInputStream imageStream = ImageIO.createImageInputStream(is);
Iterator<ImageReader> readers = ImageIO.getImageReaders(imageStream);
if (!readers.hasNext()) return null;
ImageReader reader = readers.next();
try {
reader.setInput(imageStream);
return new Point(reader.getWidth(0), reader.getHeight(0));
} finally {
reader.dispose();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
代码示例来源:origin: BroadleafCommerce/BroadleafCommerce
public ImageMetadata getImageMetadata(InputStream artifactStream) throws Exception {
ImageMetadata imageMetadata = new ImageMetadata();
ImageInputStream iis = ImageIO.createImageInputStream(artifactStream);
Iterator<ImageReader> readers = ImageIO.getImageReaders(iis);
if (readers.hasNext()) {
ImageReader reader = readers.next();
reader.setInput(iis, true);
imageMetadata.setWidth(reader.getWidth(0));
imageMetadata.setHeight(reader.getHeight(0));
} else {
throw new Exception("Unable to retrieve image metadata from stream. Are you sure the stream provided is a valid input stream for an image source?");
}
return imageMetadata;
}
代码示例来源:origin: BroadleafCommerce/BroadleafCommerce
public InputStream convert(InputStream artifactStream, BufferedImageOp filter) throws Exception {
ImageInputStream iis = ImageIO.createImageInputStream(artifactStream);
Iterator<ImageReader> iter = ImageIO.getImageReaders(iis);
ImageReader reader = iter.next();
String formatName = reader.getFormatName();
artifactStream.reset();
BufferedImage image = ImageIO.read(ImageIO.createImageInputStream(artifactStream));
//before
if (formatName.toLowerCase().equals("jpeg") || formatName.toLowerCase().equals("jpg")) {
image = stripAlpha(image);
}
image = filter.filter(image, null);
if (formatName.toLowerCase().equals("gif")) {
formatName = "png";
}
InputStream result = compress(image, formatName);
if (formatName.equals("png")) {
result = compressPNG(result);
}
return result;
}
代码示例来源:origin: plantuml/plantuml
public void readAndDisplayMetadata(File file) throws IOException {
final ImageInputStream iis = ImageIO.createImageInputStream(file);
final Iterator<ImageReader> readers = ImageIO.getImageReaders(iis);
if (readers.hasNext()) {
// pick the first available ImageReader
final ImageReader reader = readers.next();
// attach source to the reader
reader.setInput(iis, true);
// read metadata of first image
final IIOMetadata metadata = reader.getImageMetadata(0);
final String[] names = metadata.getMetadataFormatNames();
final int length = names.length;
for (int i = 0; i < length; i++) {
displayMetadata(metadata.getAsTree(names[i]));
}
}
}
代码示例来源:origin: plantuml/plantuml
public String getData() throws IOException {
final ImageInputStream iis = ImageIO.createImageInputStream(source);
final Iterator<ImageReader> readers = ImageIO.getImageReaders(iis);
if (readers.hasNext()) {
// pick the first available ImageReader
final ImageReader reader = readers.next();
// attach source to the reader
reader.setInput(iis, true);
// read metadata of first image
final IIOMetadata metadata = reader.getImageMetadata(0);
final String[] names = metadata.getMetadataFormatNames();
final int length = names.length;
for (int i = 0; i < length; i++) {
final String result = displayMetadata(metadata.getAsTree(names[i]));
if (result != null) {
return result;
}
}
}
return null;
}
代码示例来源:origin: org.springframework.boot/spring-boot
private Frame[] readFrames(int width, int height, ImageInputStream stream)
throws IOException {
Iterator<ImageReader> readers = ImageIO.getImageReaders(stream);
Assert.state(readers.hasNext(), "Unable to read image banner source");
ImageReader reader = readers.next();
try {
ImageReadParam readParam = reader.getDefaultReadParam();
reader.setInput(stream);
int frameCount = reader.getNumImages(true);
Frame[] frames = new Frame[frameCount];
for (int i = 0; i < frameCount; i++) {
frames[i] = readFrame(width, height, reader, i, readParam);
}
return frames;
}
finally {
reader.dispose();
}
}
代码示例来源:origin: BroadleafCommerce/BroadleafCommerce
Iterator<ImageReader> iter = ImageIO.getImageReaders(iis);
ImageReader reader = iter.next();
String formatName = reader.getFormatName();
代码示例来源:origin: apache/nifi
final Iterator<ImageReader> readers = ImageIO.getImageReaders(iis);
if (!readers.hasNext()) {
throw new ProcessException("FlowFile is not in a valid format");
代码示例来源:origin: BroadleafCommerce/BroadleafCommerce
if (operations != null && operations.length > 0) {
ImageInputStream iis = ImageIO.createImageInputStream(artifactStream);
Iterator<ImageReader> iter = ImageIO.getImageReaders(iis);
ImageReader reader = iter.next();
String formatName = reader.getFormatName();
代码示例来源:origin: org.apache.poi/poi
Iterator<ImageReader> i = ImageIO.getImageReaders( iis );
ImageReader r = i.next();
try {
代码示例来源:origin: coobird/thumbnailator
Iterator<ImageReader> readers = ImageIO.getImageReaders(iis);
if (!readers.hasNext())
代码示例来源:origin: org.apache.poi/poi
Iterator<ImageReader> iter = ImageIO.getImageReaders(iis);
while (img==null && iter.hasNext()) {
ImageReader reader = iter.next();
代码示例来源:origin: coobird/thumbnailator
Iterator<ImageReader> readers = ImageIO.getImageReaders(iis);
if (!readers.hasNext())
代码示例来源:origin: geoserver/geoserver
/**
* Retrieves the request result as a list of BufferedImages from an animated format (works with
* GIF, other formats are not tested so far).
*/
protected List<BufferedImage> getAsAnimation(String path, String mime) throws Exception {
MockHttpServletResponse resp = getAsServletResponse(path);
assertEquals(mime, resp.getContentType());
try (ImageInputStream is = ImageIO.createImageInputStream(getBinaryInputStream(resp))) {
ImageReader reader = ImageIO.getImageReaders(is).next();
reader.setInput(is);
final int numImages = reader.getNumImages(true);
List<BufferedImage> result = new ArrayList<>(numImages);
for (int i = 0; i < numImages; i++) {
result.add(reader.read(i));
}
return result;
}
}
代码示例来源:origin: geotools/geotools
/**
* Look for an {@link ImageReader} instance that is able to read the provided {@link
* ImageInputStream}, which must be non null.
*
* <p>In case no reader is found, <code>null</code> is returned.
*
* @param inStream an instance of {@link ImageInputStream} for which we need to find a suitable
* {@link ImageReader}.
* @return a suitable instance of {@link ImageReader} or <code>null</code> if one cannot be
* found.
*/
public static ImageReader getImageioReader(final ImageInputStream inStream) {
Utilities.ensureNonNull("inStream", inStream);
// get a reader
inStream.mark();
final Iterator<ImageReader> readersIt = ImageIO.getImageReaders(inStream);
if (!readersIt.hasNext()) {
return null;
}
return readersIt.next();
}
代码示例来源:origin: geotools/geotools
/**
* Look for an {@link ImageReader} instance that is able to read the provided {@link
* ImageInputStream}, which must be non null.
*
* <p>
*
* <p>In case no reader is found, <code>null</code> is returned.
*
* @param inStream an instance of {@link ImageInputStream} for which we need to find a suitable
* {@link ImageReader}.
* @return a suitable instance of {@link ImageReader} or <code>null</code> if one cannot be
* found.
*/
static ImageReader getReader(final ImageInputStream inStream) {
Utilities.ensureNonNull("inStream", inStream);
// get a reader
inStream.mark();
final Iterator<ImageReader> readersIt = ImageIO.getImageReaders(inStream);
if (!readersIt.hasNext()) {
return null;
}
return readersIt.next();
}
代码示例来源:origin: haraldk/TwelveMonkeys
public BufferedImage read(final int imageIndex, final ImageReadParam param) throws IOException {
// Test if we have sips before dumping to be fail-fast
if (SIPS_EXISTS_AND_EXECUTES) {
File tempFile = dumpToFile(input);
if (convertToPNG(tempFile)) {
ImageInputStream stream = ImageIO.createImageInputStream(tempFile);
Iterator<ImageReader> readers = ImageIO.getImageReaders(stream);
while (readers.hasNext()) {
ImageReader reader = readers.next();
reader.setInput(stream);
try {
return reader.read(imageIndex, param);
}
catch (IOException ignore) {
if (stream.getFlushedPosition() <= 0) {
stream.seek(0);
}
else {
stream.close();
stream = ImageIO.createImageInputStream(tempFile);
}
}
finally {
reader.dispose();
}
}
}
}
return null;
}
代码示例来源:origin: haraldk/TwelveMonkeys
@Test
public void testMergeWithSubIFD() throws IOException {
String testFile = "/tiff/cmyk_jpeg.tif";
File output = File.createTempFile("imageiotest", ".tif");
ImageOutputStream outputStream = ImageIO.createImageOutputStream(output);
InputStream inputStream1 = getClassLoaderResource(testFile).openStream();
ImageInputStream imageInput1 = ImageIO.createImageInputStream(inputStream1);
InputStream inputStream2 = getClassLoaderResource(testFile).openStream();
ImageInputStream imageInput2 = ImageIO.createImageInputStream(inputStream2);
ArrayList<TIFFUtilities.TIFFPage> pages = new ArrayList<>();
pages.addAll(TIFFUtilities.getPages(imageInput1));
pages.addAll(TIFFUtilities.getPages(imageInput2));
TIFFUtilities.writePages(outputStream, pages);
ImageInputStream testOutput = ImageIO.createImageInputStream(output);
ImageReader reader = ImageIO.getImageReaders(testOutput).next();
reader.setInput(testOutput);
int numImages = reader.getNumImages(true);
for (int i = 0; i < numImages; i++) {
reader.read(i);
}
imageInput1.close();
imageInput2.close();
outputStream.close();
}
代码示例来源:origin: haraldk/TwelveMonkeys
ImageReader reader = ImageIO.getImageReaders(iis).next();
reader.setInput(iis);
Assert.assertEquals(3, reader.getNumImages(true));
代码示例来源:origin: haraldk/TwelveMonkeys
ImageReader reader = ImageIO.getImageReaders(testOutput).next();
reader.setInput(testOutput);
int numImages = reader.getNumImages(true);
内容来源于网络,如有侵权,请联系作者删除!