mirror of
https://github.com/Suwayomi/Suwayomi-Server.git
synced 2026-07-01 09:54:34 -05:00
Some extensions use more Canvas methods, but they don't really seem to get that far yet, all the others I was able to test seem to work now.
52 lines
1.5 KiB
Java
52 lines
1.5 KiB
Java
package android.graphics;
|
|
|
|
import java.awt.image.BufferedImage;
|
|
import java.io.ByteArrayInputStream;
|
|
import java.io.InputStream;
|
|
import java.io.IOException;
|
|
import java.util.Iterator;
|
|
import javax.imageio.ImageIO;
|
|
import javax.imageio.ImageReader;
|
|
import javax.imageio.stream.ImageInputStream;
|
|
|
|
public class BitmapFactory {
|
|
public static Bitmap decodeStream(InputStream inputStream) {
|
|
Bitmap bitmap = null;
|
|
|
|
try {
|
|
ImageInputStream imageInputStream = ImageIO.createImageInputStream(inputStream);
|
|
Iterator<ImageReader> imageReaders = ImageIO.getImageReaders(imageInputStream);
|
|
|
|
if (!imageReaders.hasNext()) {
|
|
throw new IllegalArgumentException("no reader for image");
|
|
}
|
|
|
|
ImageReader imageReader = imageReaders.next();
|
|
imageReader.setInput(imageInputStream);
|
|
|
|
BufferedImage image = imageReader.read(0, imageReader.getDefaultReadParam());
|
|
bitmap = new Bitmap(image);
|
|
|
|
imageReader.dispose();
|
|
} catch (IOException ex) {
|
|
throw new RuntimeException(ex);
|
|
}
|
|
|
|
return bitmap;
|
|
}
|
|
|
|
public static Bitmap decodeByteArray(byte[] data, int offset, int length) {
|
|
Bitmap bitmap = null;
|
|
|
|
ByteArrayInputStream byteArrayStream = new ByteArrayInputStream(data);
|
|
try {
|
|
BufferedImage image = ImageIO.read(byteArrayStream);
|
|
bitmap = new Bitmap(image);
|
|
} catch (IOException ex) {
|
|
throw new RuntimeException(ex);
|
|
}
|
|
|
|
return bitmap;
|
|
}
|
|
}
|