2013-01-03 4 views
-3

Пытается сохранить изображение. Б.Т. является байтовый массивпреобразовать int [] в массив байтов и массив байтов для изображения

InputStream is = new ByteArrayInputStream(bt); 
Image img = ImageIO.read(is); 
ImageIO.write(img,"jpg",new File("C:\\home_loan.jpg")); 

, пожалуйста, помогите мне,

ошибка - : не может найти символу

символ: метод записи (java.awt.Image, java.lang.String, ява .io.File)

расположение: класс javax.imageio.ImageIO

ImageIO.write (IMG, "JPG", новый файл ("C: \ home_loan.jpg"));

^ 
+3

формат кода! – MrSmith42

+0

i m новый сайт totis, так что я не знаю, как форматировать sry – user1944988

+1

Для кода нужно отступить код 4 пробела. –

ответ

0

Прежде всего вам нужно знать, является ли отображение одним int одним байтом или одним int для нескольких байтов (и сколько). Затем, если последнее, вам нужно знать, имеет ли он большой или малый конец.

Для изображений вам также необходимо иметь представление о том, какой формат изображения (и JPG на самом деле имеет несколько вариантов).

+0

PLS скажите мне, что изменить в этом вышеприведенном коде, чтобы я мог сохранить изображение. – user1944988

+0

img должен быть RenderedImage (читайте спецификацию для ImageIO.write). –

+0

(Измените 'Image img' на' BufferedImage img'. BufferedImage реализует интерфейс RenderedImage.) –

0

Использовать BufferedImage. Это изображение, поддерживаемое памятью, и имеет два метода setRGB.

Индивидуальные данные; в противном случае вам нужно преобразовать структуру данных, работая над одним BufferedImage.

0

Вы можете использовать следующие methods-

/** 
* @param path full path of image 
* @return image file for supplied path 
*/ 
private BufferedImage getImage(String path) { 
    BufferedImage image = null; 
    File file = new File(path); 
    try { 
     image = ImageIO.read(file); 
    } catch(Exception e) { 
     e.printStackTrace(); 
    } 
    return image; 
} 

/** 
* @param userSpaceImage 
* @return byte array of supplied image 
*/ 
private byte[] getByteData(BufferedImage userSpaceImage) { 
    WritableRaster raster = userSpaceImage.getRaster(); 
    DataBufferByte buffer = (DataBufferByte) raster.getDataBuffer(); 
    return buffer.getData(); 
} 

/** 
* @param image image-file to save 
* @param file to save image to 
* @param extension of image file 
* @return full path of saved image 
*/ 
private String saveImage(BufferedImage image, File file, String extension) { 
    try { 
     ImageIO.write(image, extension, file); 
    } catch(Exception e) { 
     e.printStackTrace(); 
    } 
    return file.getAbsolutePath(); 
} 
Смежные вопросы