Bir bufferedImage öğesinden bytearray'i almaya çalışıyorum ancak ByteArrayOutputstream öğesinin uzunluğu her zaman sıfırdır ve baytım yok. Bu, buBufferedImage to Bytes Java
BufferedImage scaledPicture = .....
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(scaledPicture, extension, baos);
baos.flush();
byte[] toByteArray = baos.toByteArray();
baos.close();
return toByteArray;
Herhangi bir fikir çalışmıyor neden
herhangi bir fikir yapıyorum nedir?
Bunun için çok teşekkür ederim. Yanlış dönüyor, bu yüzden yazar bulunamadı. Resim tarayıcıdan yüklendiğinden, biçimi nasıl belirlerim veya ImageIO.write çağrısında nasıl bir biçim belirtebilirim? –
@Farouk Alhassan 'ImagIO.getImageWritersBySuffix' kullanmayı denedim ve bunun için herhangi bir ImageWriter 'geri alıp almadığınızı görün. Eğer öyleyse 'RenderedImage' yazmak için bunları' write' yöntemiyle kolayca kullanabilirsiniz. Şu anda kullanmakta olduğunuz yöntem, bunun etrafındaki basit bir sarıcıdır. – Melv
Çok teşekkür ederim. Bir günden sonra düzeltildi. sadece eski bir test edilmemiş kod dosya uzantısı yanlış bir şekilde hesaplandı, çünkü jpeg yerine boşa harcanmış bir gün yerine .jpeg dönüyordu! Öğrenilen dersler. Her neyse, bugün dünden daha fazlasını biliyorum, bu yüzden minnettarım. tx –