我正在尝试将我的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补丁文件,但我不知道如何... 有什么建议吗?
答案 0 :(得分:0)
我在这篇文章中找到了解决方案:Create a NinePatch/NinePatchDrawable in runtime我使用Brian Griffey类将位图转换为九个补丁非常容易...