super( JPEGSpiConsts.vendorName, JPEGSpiConsts.version, PNG_NAMES, PNG_SUFFIXES, PNG_MIME_TYPES, PNG_READER_CLASS_NAME, STANDARD_INPUT_TYPE, null, false, null, null, null, null, false, null, null, null, null );
ImageInputStream markable = (ImageInputStream) source; markable.mark(); byte[] signature = new byte[8]; markable.seek(0); int nBytes = markable.read(signature, 0, 8); if(nBytes != 8) markable.read(signature, nBytes, 8-nBytes); markable.reset(); // PNG signature: 137 80 78 71 13 10 26 10 return (signature[0] & 0xFF) == 137 && (signature[1] & 0xFF) == 80 && (signature[2] & 0xFF) == 78 && (signature[3] & 0xFF) == 71 && (signature[4] & 0xFF) == 13 && (signature[5] & 0xFF) == 10 && (signature[6] & 0xFF) == 26 && (signature[7] & 0xFF) == 10;
return new PNGImageReader(this);
return "DRL PNG decoder";
super.onRegistration(registry, category);