2012年10月30日火曜日

[Android]WebViewで動的に画像を設定する方法

WebViewに画像を表示する場合、静的に決まっている画像であればassetsに放り込んでfile:///android_asset/のURLでimgタグを作れば良いのですが、編集した画像だったりをJavaから設定したい場合にはdata:imageスキームを使う事で実現出来ます。
<img src="data:image/png;base64,%s">
こんなHTMLを用意しておき
読み込んだ画像をバイト配列にしてBase64して流し込みます。
InputStream is = [Your Image]
byte[] b = new byte[is.available()];
is.read(b);
String image64 = Base64.encodeToString(b, Base64.DEFAULT);
String html = String.format(baseHtml, image64);
webview.loadData(html, "test/html", "utf-8");

0 件のコメント:

コメントを投稿