0

Android でアプリケーションを開発していますが、http サーバーからダウンロードした画像を表示するのに問題があります。ダウンロード用のコードは次のとおりです。

        HttpClient httpClient = new DefaultHttpClient();
        HttpGet httpGet = new HttpGet(URI.create(imageURL));
        httpGet.addHeader(BasicScheme.authenticate(new UsernamePasswordCredentials("user", "password"), "UTF-8", false));

        HttpResponse httpResponse = httpClient.execute(httpGet);
        HttpEntity responseEntity = httpResponse.getEntity();
        InputStream input = responseEntity.getContent();
        // Get the bitmap
        Options opt = new Options();
        opt.inScaled = true;
        opt.inDensity = 1;
        opt.inTargetDensity = 1;
        opt.inPreferQualityOverSpeed = false;
        opt.inPurgeable = true;
        opt.inSampleSize = 2;
        Bitmap myBitmap = BitmapFactory.decodeStream(input, null, opt);

        // Save the bitmap to the file
        String path = SMVAndroid.IMAGE_PATH;
        OutputStream fOut = null;
        File file = new File(path, fileName.concat(".jpeg"));
        fOut = new FileOutputStream(file);
        /*int byteRead;
        while((byteRead = input.read()) != -1){
            fOut.write(byteRead);
        }*/

        myBitmap.compress(Bitmap.CompressFormat.JPEG, 85, fOut);
        fOut.flush();
        fOut.close();

一部のイメージはこの方法ではダウンロードされないため、コメント付きのコードを試してみるとダウンロードされますが、ImageView コンポーネントでは表示できません。画像が別の形式 (拡張子にもかかわらず) であるかどうかを確認しようとしましたが、trid (http://mark0.net/soft-trid-e.html) というプログラムを使用して、動作しないものは jpeg-exif として識別され、動作するものは jpeg のみです。PC に画像をダウンロードし、プログラムを使用して exif 情報を読み取りましたが、機能するものには情報がありません。問題はこの情報である可能性があると結論付けましたが、Android携帯電話で写真を撮ると、この情報もファイルに保存されるため、何が問題なのかわかりません. Androidブラウザでも画像を表示しようとしましたが、機能しません。ネイティブの画像ビューアでも機能しません。Androidのchromeブラウザで画像を見ることができましたが、ブラウザを使用してダウンロードしようとするとダウンロードされません。問題がexifであるかどうかは誰にもわかりますか?ここに画像をアップロードしました: http://img407.imageshack.us/img407/5977/1007e.jpg

4

2 に答える 2

1

私は問題を解決しました。問題は Exif 情報ではありませんでした。画像のカラータイプでした。Android は CMYK 形式の画像を読み取れないようです。RGBに変換して開きました。:)

于 2012-12-28T12:26:22.857 に答える
0

Exifは問題ないと思います。Android は、jpg 画像から exif データを読み取る ExifInterface を提供します。ExifInterface を介して exif データを読み取って、何が得られるかを確認してください。

于 2012-12-27T18:06:37.567 に答える