OutputPaneController.java 文件源码

java
阅读 27 收藏 0 点赞 0 评论 0

项目:BrickifyFX 作者:
/**
 * Get the image to write. This is the mosaic image with alpha channel stripped, as this
 * doesn't work with the JPEG export.
 */
private BufferedImage getImageToWrite() throws InterruptedException {
    BufferedImage image = SwingFXUtils.fromFXImage(mainController.getMosaicImage(), null);
    final int[] RGB_MASKS = {0xFF0000, 0xFF00, 0xFF};
    final ColorModel rgbOpaque = new DirectColorModel(32, RGB_MASKS[0], RGB_MASKS[1], RGB_MASKS[2]);

    PixelGrabber pg = new PixelGrabber(image, 0, 0, -1, -1, true);
    pg.grabPixels();
    int width = pg.getWidth(), height = pg.getHeight();

    DataBuffer buffer = new DataBufferInt((int[]) pg.getPixels(), pg.getWidth() * pg.getHeight());
    WritableRaster raster = Raster.createPackedRaster(buffer, width, height, width, RGB_MASKS, null);
    BufferedImage bi = new BufferedImage(rgbOpaque, raster, false, null);

    return bi;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号