我正在从WebView的draw方法中提取帧并以编程方式滚动它。 问题是,无论我的位图有多大,我都只会基于其初始尺寸从WebView获取输出。 getHeight()返回1440的值,即使我将位图变大和/或滚动WebView,也只能从WebView中获得。 这是它的draw方法:

@Override
public void draw( Canvas canvas ) {
    int height = getHeight();
    bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    newCanvas = new Canvas(bitmap);
    super.draw(newCanvas);
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
    array.Buffer = stream.toByteArray();
    mPluginInterfaceBitmap.onFrameUpdate(array, width, height);
    stream.reset();
}

我正在像这样滚动Web视图:

mWebView.scrollBy(0,yScrollBy);

我知道它在滚动,因为在随后的帧中,我检查:

mWebView.getScrollY()

我的XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
<com.export.ian.webviewtest android:id="@+id/web_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

我也尝试过增加webview的大小以匹配它的ContentHeight但是这永远都行不通,而且我不确定无限滚动网站如何工作。 我希望能够以编程方式滚动Web视图并提取用户在网页中看到的任何内容的框架。

这是滚动几下后的样子(忽略图像的角度) 在此处输入图片说明

#1楼 票数:0 已采纳

最终从这里找到了答案:

您必须在片段中放大视图之前调用WebView.enableSlowWholeDocumentDraw()

  ask by pale bone translate from so

未解决问题?本站智能推荐:

1回复

如何使用onDraw(Canvas)获取WebView(Android)的位图快照

我曾经使用capturePicture()方法制作我的WebView快照。 此方法在API级别19中已弃用。 该文档说“使用onDraw(Canvas)获取WebView的位图快照”,但我真的不知道它是什么意思。 你能教我如何解决这个问题吗?
2回复

从WebView获取位图会导致OutOfMemory崩溃

我有一个自定义WebView ,我想获得其内容的位图(包括屏幕外)。 我使用了这个代码,我从这里得到了 : 当我放大很多时,它工作正常,在这种情况下我得到OutOfMemory Crash。 我用相同的图片(略微缩放并缩放到最大值)测试了它,它的行为与我上面提到的相同。 我试图通过添
1回复

将Webview内容另存为位图/图像

该应用程序有一个Web视图,其中显示了一些html数据。 我正在尝试使用以下代码将此内容另存为位图 当内容较小时,此方法效果很好。 但是当它很大时, webview会用滚动条显示它。 并且只有可见的内容才会绘制到位图上。 如何强制将隐藏的内容添加到位图? 有什么方法可以动态
1回复

在WebView上双击缩放比例缩放量

我正在WebView上实现画布,并且需要根据WebView的缩放级别调整画布比例。 结合使用canvas.scale()和SimpleOnScaleListener可以达到目的。 对于双击,我使用的是GestureDetector ,它可以检测何时有双击并相应地设置比例因子。 我只是在猜测
1回复

将WebView绘制到画布上的设置位置

我创建了一个自定义WebView,它将用于播放gif文件。 现在,我需要将其绘制到画布上的特定位置并使用设置的大小。 但是,我不确定如何将包含Gif的webView转换为位图,以便将其插入到Canvas上的正确位置。 我的WebView类别: 获取主要活动的原始资源: 将我的图
4回复

Android-从WebView绘制到PDF画布

我一直在Android上进行PDF打印工作时遇到麻烦。 我要做的是在WebView中渲染一些HTML,然后在PDF画布上绘制WebView内容,最后将PDF写入文件。 我遇到的问题是,当我绘制到PDF画布时,即使有足够的画布,内容也会被剪裁。 我已经尝试使用.clipRect(Rect r
1回复

在Android>4.1WebView上出现THREE.CanvasRender故障

我在Android WebView中使用THREE.CanvasRender遇到麻烦。 我的应用程序正在HTML5 WebView上运行。 我不明白为什么在某些情况下不起作用。 但它可以在Android 2.3.3 .. 2.3.7中使用。 我需要CanvasRender,因为大多数
2回复

允许用户在Canvas上绘图

我正在尝试设置一个可以在画布上绘制的儿童应用程序。 我有一个有ImageView的布局,看起来像这样: 带有字母的绿色背景是imageview,其中画布应覆盖并允许用户绘制。 此外,我想让用户通过按下颜色球体来更改颜色笔划。 我怎么能继续下去呢?