<dependencies> <dependency> <groupId>com.github.jai-imageio</groupId> <artifactId>jai-imageio-core</artifactId> <version>1.4.0</version> </dependency> </dependencies> import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; import javax.media.jai.JAI; import javax.media.jai.RenderedOp; import com.sun.media.jai.codec.FileSeekableStream; import com.sun.media.jai.codec.ImageCodec; import com.sun.media.jai.codec.ImageDecodeParam; import com.sun.media.jai.codec.ImageDecoder; public class ImageProcessor { public static void main(String[] args) { try { FileSeekableStream stream = new FileSeekableStream(new File("input.jpg")); ImageDecoder decoder = ImageCodec.createImageDecoder("JPEG", stream, param); RenderedOp image = decoder.decodeAsRenderedOp(0); BufferedImage redChannel = image.getAsBufferedImage().getSubimage(0, 0, image.getWidth(), image.getHeight()); int[] pixels = redChannel.getRGB(0, 0, redChannel.getWidth(), redChannel.getHeight(), null, 0, redChannel.getWidth()); for (int i = 0; i < pixels.length; i++) { int alpha = (pixels[i] >> 24) & 0xFF; int red = (pixels[i] >> 16) & 0xFF; } redChannel.setRGB(0, 0, redChannel.getWidth(), redChannel.getHeight(), pixels, 0, redChannel.getWidth()); File output = new File("output.jpg"); ImageIO.write(redChannel, "JPEG", output); } catch (Exception e) { e.printStackTrace(); } } }


上一篇:
下一篇:
切换中文