Mam poniższy fragment kodu do konwersji obrazu na tablicę bajtów.Konwersja obrazów Java na bajty rozmiaru tablicy bajtów
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(image, "png", baos);
baos.flush();
byte[] imageBytes = baos.toByteArray();
baos.close();
Emisja że jestem stoi to, że rozmiar obrazu wynosi około 2.65MB. Jednak imageBytes.length daje mi wartość większą niż 5,5 MB. Czy ktoś może mi powiedzieć, gdzie idę źle?
Skąd wiadomo, że rozmiar wynosi około 2,65 MB? Czy możesz otworzyć wynikowe bajty? Czy to wygląda w porządku? – Thilo
Czy jesteś pewien, że obraz wejściowy rzeczywiście jest w formacie PNG? – Perception
@Thilo - Obraz jest przesłanym obrazem z mojego lokalnego komputera. Sprawdziłem plik zarówno na moim lokalnym komputerze, jak i na serwerze. Ma rozmiar 2,65MB. Używam obrazu BufferedImage = ImageIO.read (inputFile); aby utworzyć obiekt obrazu z pliku. Tak, bajt [] zapisany wygląda OK z wyjątkiem rozmiaru. –