2017-02-16 15 views
1

檢查下面的代碼:的Java AWT的WritableRaster和ColorModel中的等價物的JavaFX

 int[] pixels = new int[] { ... my pixels }; 
     DataBufferInt databufferint = new DataBufferInt(pixels, pixels.length); 
     DirectColorModel directcolormodel = new DirectColorModel(32, 16711680, 65280, 255); 
     WritableRaster writableraster = Raster.createWritableRaster(directcolormodel.createCompatibleSampleModel(width, height), databufferint, null); 
     BufferedImage image = new BufferedImage(directcolormodel, writableraster, false, new Hashtable()); 

我想畫上一個JavaFX帆布這個形象,我用這個解決方法來實現:

graphics.drawImage(SwingFXUtils.toFXImage(image, null), x, y); 

但我在想,JavaFX有沒有與WritableRaster和ColorModel等價的東西?

我還有第二個問題。如何使用上面的代碼在使用WritableRaster和ColorModel的HTML5畫布中繪製圖像?我知道如何在畫布上繪製像素,我只需要知道如何在其上應用Java的WritableRaster和ColorModel。

回答

0

關於第一個問題,你可能想看看javafx.scene.image.WritableImagejavafx.scene.image.PixelWriter。我完全不熟悉java.awt.image圖像API,所以我不能肯定地說這些類是你需要的。只要看看這兩個API之間的差異,我不認爲javafx.scene.image API與java.awt.image一樣「很好地調整」。

的代碼會是這個樣子,但:

WritableImage image = new WritableImage(width, height); 
PixelWriter pw = image.getPixelWriter(); 
// Use the pw.setXXX methods... 

不幸的是,我不知道一個問題的第二個問題,不好意思。

相關問題