在android中将base64转换为9补丁.png

时间:2013-08-23 08:24:03

标签: php android json nine-patch

我正在尝试将我的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补丁文件,但我不知道如何... 有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我在这篇文章中找到了解决方案:Create a NinePatch/NinePatchDrawable in runtime我使用Brian Griffey类将位图转换为九个补丁非常容易...