2017-03-15 2 views
-1

wir tun Projekt auf Bildkomprimierung Dekomprimierung mit java.we haben bereits Bild codiert mit Base64-Encoder nach als unterhalb Code angewendet.Aber dieser Java-Code funktioniert nicht für Bild. es funktioniert ordnungsgemäß für Zeichenkette, aber nicht für Bild.RLE Komprimierung Dekomprimierung für Bild mit Java

StringBuffer dest = new StringBuffer(); 
for (int i = 0; i < source.length(); i++) 
{  
    int runLength = 1;  
    while (i + 1 < source.length() && source.charAt(i) == source.charAt(i + 1)) 
    { 
     runLength++; 
     i++; 
    } 
    dest.append(runLength);  
    dest.append(source.charAt(i)); 
} 
return dest.toString(); 
+0

_CODE suchen sein ist nicht working_ keine gültige Frage. Zeigen Sie uns, was Sie bisher für die Bildkompression versucht haben. Sie können nicht erwarten, dass Code, der mit string arbeitet, für ein Bild funktioniert, ohne Änderungen vorzunehmen. Siehe auch [fragen]. – zett42

Antwort

0
public byte[] byteArray(BufferedImage image){ 
    ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
    byte[] imageInByte = null; 
    try{ 
     ImageIO.write(image, "BMP", baos); 
     baos.flush(); 
     imageInByte = baos.toByteArray(); 
     baos.close(); 
    }catch(IOException e){ 
     System.out.println(e.getMessage()); 
    } 

    return imageInByte; 
} 
public String getRunLength(){ 
    StringBuffer dest = new StringBuffer();   
    for(int i =0; i < imageByteArray.length; i++){ 
     int runlength = 1; 
     while(i+1 < imageByteArray.length && imageByteArray[i] == imageByteArray[i+1]){ 
      runlength++; 
      i++; 

     }  


     dest.append(runlength); 

     dest.append(imageByteArray[i]); 

    } 
    return dest.toString(); 
} 
+1

Fügen Sie eine Beschreibung zu Ihrer Antwort hinzu. – Billa

Verwandte Themen