isherの日記

2011-09-06

[]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");

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/isher/20110906/1315238575