大家!我已将大量图片压缩为“pictures.zip”文件.我想将这些图片之一加载到WebView,如下所示:
- WebView wv = (WebView)findViewById(R.id.WebView01);
- wv.loadDataWithBaseURL(null,"<img src=\"abc.jpg\">","text/html","UTF-8",null);
这里,“abc.jpg”是一张已压缩为pictures.zip文件的图片.
>我只想解压缩zip文件中的图片并获取
图片的字节流,然后
将图像加载到WebView
字节流.
>我不想解压缩
然后是来自zip文件的图片
将其保存到SD卡然后加载它.
>而且,我不想编码
pitcture的字节到base64然后
将图像加载到WebView
或者,因为这两种方式都会
非常慢
解决方法
据我所知,没有办法满足所有这三个要求.如果您不想将其写入存储,Base64对其进行编码并将其直接加载到图像标签中可能是您最好的选择,尽管您仍然可以将其写入内部存储并在webview中显示.
- private static final String HTML_FORMAT = "<img src=\"data:image/jpeg;base64,%1$s\" />";
- private static void openJpeg(WebView web,byte[] image)
- {
- String b64Image = Base64.encode(image,Base64.DEFAULT);
- String html = String.format(HTML_FORMAT,b64Image);
- web.loadData(html,"utf-8");
- }