2015-08-27 3 views
1

У меня возникли проблемы с интерпретацией этого вопроса.Показать изображение из схемы URI данных на панели Java

Я получаю img в JSON, образованном в Base64, для веб-разработчиков только его: "".

Как я могу сделать это на Java?

+2

"У меня возникли проблемы интерпретации этот вопрос." - Сейчас нас двое. – Sleafar

ответ

0
//JSON funtion 
    String cmd_getPhoto = so.cmd_getPhoto(); 

    //for remove ":"data:image\/png;base64," 
    String imageDataBytes = cmd_getPhoto.substring(cmd_getPhoto.indexOf(",") + 1); 
    //for decode 
    Base64 b = new Base64(); 
    byte[] decode = b.decode(imageDataBytes.getBytes()); 

    //create the stream 
    InputStream stream = new ByteArrayInputStream(decode); 

    try { 
     //set the stream for a bufferedImage and do what your will with it 
     BufferedImage bitmap = ImageIO.read(stream); 
     jLabel6.setIcon(new ImageIcon(bitmap)); 
    } catch (IOException ex) { } 
0

Вы можете использовать apache commons-codec для преобразования байтового массива. на base64 и от base64 до байтового массива. Собственно, вы можете использовать guava. Этот артефакт имеет библиотеки base64 и json. Просто добавьте com.google.guava в проект вашего maven.

Для создания образа можно использовать:

InputStream in = new ByteArrayInputStream(yourbytearray); 
BufferedImage bImageFromConvert = ImageIO.read(in); 
ImageIO.write(bImageFromConvert, "jpg", new File("c:/yourimage.jpg")); 
+1

Или вы можете использовать [обычный Java SE] (http://docs.oracle.com/javase/8/docs/api/java/util/Base64.html) и избегать бремени сторонней библиотеки. – VGR

+0

ОК, я делаю это. но как я создаю изображение из массива байтов? – rodrigo

+0

Я обновил свое сообщение об изображении –

Смежные вопросы