有没有人知道如何将HTML代码(包含图片)转换为Android上的图片?我知道如何使用JLabel / JEditorPane和BufferedImage在Java上创建它,但现在应该使用Android。
答案 0 :(得分:4)
对于此任务,我使用以下技巧: 我使用webview来解析HTML并在WevView对象上调用方法capturePicture来提取HTML的图片,所以我可以建议你关注sniplet:
WebView wv = new WebView(this);
wv.loadData("<html><body><p>Hello World</p></body></html>");
Picture p = wv.capturePicture();
我希望这可以提供帮助,但如果你以不同的方式解决它,请发布它。
答案 1 :(得分:2)
@ Neo1975的答案对我有用,但为了避免使用已弃用的方法WebView.capturePicture()
,您可以使用以下方法捕获WebView的内容。
/**
* WevView screenshot
*
* @param webView
* @return
*/
private static Bitmap screenshot(WebView webView) {
webView.measure(View.MeasureSpec.makeMeasureSpec(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED),View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
webView.layout(0, 0, webView.getMeasuredWidth(),
webView.getMeasuredHeight());
webView.setDrawingCacheEnabled(true);
webView.buildDrawingCache();
Bitmap bitmap = Bitmap.createBitmap(webView.getMeasuredWidth(),
webView.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
int iHeight = bitmap.getHeight();
canvas.drawBitmap(bitmap, 0, iHeight, paint);
webView.draw(canvas);
return bitmap;
}
背后的想法是使用WebView.draw(Canvas)
方法。