2017-07-10 52 views
0

我從服務器端以base64格式獲得jp2。我能夠將jpg轉換爲ImageMagick庫的jp2併發送到服務器。他們可以使用緩衝圖像和ImageIo將其轉換爲jpg。 但我沒有得到任何想法將jp2轉換爲jpg並在Imageview中呈現。 希望得到任何幫助。提前致謝。將jp2(jpeg2000)渲染爲android中的Imageview。

回答

-1

https://stackoverflow.com/a/39103107/2760681

private static void convertImage(int randNum) throws IOException { 
    try { 
     File foundFile = new File("c:\\images\\" + randNum + ".jp2"); 
     BufferedImage background = ImageIO.read(foundFile); 
     ImageIO.write(background, "jpg", new File("c:\\images\\" + randNum + ".jpg")); 
     System.out.println("jpg file is generated"); 
    } catch (Exception e) { 
     // TODO: handle exception 
     System.out.println("No file " + randNum +".jp2 found"); 
    } 

} 
+0

感謝烏拉圭回合答覆..但是BufferedImage的和ImageIO的不Android SDK中支持。所以,請讓我知道任何替代品 – Jeethendra

0

試試這個代碼,你可以使用OpenJpeg庫解碼JPEG2000。您可以使用編譯庫https://github.com/DimaArts/OpenJpegAndroid。它包含一個編碼jpeg2000的例子。庫支持解碼器和編碼器的PNG輸入和輸出格式。 試試這個:

OpenJPEGJavaDecoder decoder = new OpenJPEGJavaDecoder(); 
String[] params2 = new String[4]; 
params2[0] = "-i"; 
params2[1] = mInputPath; // path to jp2 
params2[2] = "-o"; 
params2[3] = mOutputPath // path to png 
decoder.decodeJ2KtoImage(params2); 

如果您正在使用JNI:

public int decodeJ2KtoImage(String[] parameters) { 
    return internalDecodeJ2KtoImage(parameters); 
}