PHPサーバーで見つかったいくつかの画像をアプリに送信しようとしています。画像は 9 つのパッチ .png ファイルです。そのために、私のサーバーでは base64 でエンコードしています。
$img = fread(fopen($filepath, "r"), filesize($filepath));
$bin_image = base64_encode($img);
その後、json としてラップしてアプリに送信します。
echo json_encode($response);
私のAndroidアプリでは、応答されたjsonから画像を取得しています:
public ServerMsg(JSONObject response, ServerResponseTags responseTag) throws JSONException {
...
String image_str = response.getString(IMAGE);
byte[] imageAsBytes = Base64.decode(image_str.getBytes(), Base64.DEFAULT);
image = BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length);
...
}
問題は、必要に応じて画像が 9 パッチの png ファイルとして表示されないことです。ビットマップ画像をpng 9パッチファイルに変換する必要があることは知っていますが、方法がわかりません...何か提案はありますか?