Jeśli konieczna jest kontrola nad sposobem pisania do binarnego strumienia, najlepiej dane wpisywać do niego w postaci tablicy byte. Tyczy się to oczywiście dowolnych danych.
Przekonwertowanie obrazu BufferedImage do postaci byte[] jest na szczęście w języku Java stosunkowo proste. Można do tego użyć poniższej funkcji lub stworzyć samodzielnie podobny kod:
private byte[] image_byte_data(BufferedImage image)
{
WritableRaster raster = image.getRaster();
DataBufferByte buffer = (DataBufferByte)raster.getDataBuffer();
return buffer.getData();
}
{
WritableRaster raster = image.getRaster();
DataBufferByte buffer = (DataBufferByte)raster.getDataBuffer();
return buffer.getData();
}
Kod ten można znaleźć w kilku dobrych serwisach anglojęzycznych. W polskiej części sieci też się pewnie znajdzie, ale szukanie niestety nie jest takie łatwe. Ja osobiście nie umiem tworzyć ładnych zapytań dla google o polskie strony ;).
Kod pochodzi z Java Forums
Brak komentarzy:
Prześlij komentarz