Мне нужен быстрый способ преобразования изображения JavaFX в массив байтов.JavaFx Image to byte [] array (Закрыто)
Путь с "BufferedImage bImage = SwingFXUtils.fromFXImage (i, null);" должен замедляться.
Я думаю, что лучше не преобразовывать изображение сначала в awt.BufferedImage.
Так что я до сих пор:
PixelReader pr = img.getPixelReader();
WritablePixelFormat<ByteBuffer> pixelformat = WritablePixelFormat.getByteBgraInstance();
int w = (int) img.getWidth();
int h = (int) img.getHeight();
int offset = 0;
int scanlineStride = w * 4;
byte[] buffer = new byte[w * h * 4];
pr.getPixels(0, 0, w, h, pixelformat, buffer, offset, scanlineStride);
Но это не работает, как освобожденный.
Кажется, что байт [] пуст или так?
Можете ли вы объяснить, как поведение отличается от того, что вы ожидаете? –
Думаю, я сейчас, где моя проблема. Я пытаюсь отобразить изображение на веб-странице. Но я делаю что-то неправильно с чтением блоба. Код, который я разместил, правильно? – Marcel
Мое решение также вызывает OutOfMemory после некоторых вызовов. – Marcel