1

アプリケーションの webview が非常に長くなります。共有を有効にするために、ユーザーが webview を画像として保存できるようにしたいと考えています。現在は機能していますが、コードによって長い画像が生成されます。保存する前に高さ\幅をプロポーショナルにしたい.800\600など.

やり方がわからない??

これは私がjpgを保存する方法です:

Picture picture = webview.capturePicture();
Bitmap b = Bitmap.createBitmap(picture.getWidth(), picture.getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
picture.draw(c);
FileOutputStream fos = null;

try {
    File file = new File(pathName);
    file.createNewFile();
    fos = new FileOutputStream(file);

    if (fos != null) {
        b.compress(Bitmap.CompressFormat.JPEG, 90, fos);
        fos.close();
    }
} catch (Exception e) {
    e.printStackTrace();
} finally {
    if (fos != null) {
        try {
            fos.close();
        } catch (IOException e) {
    }
}

レイアウトは次のようになります。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:id="@+id/a_layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <LinearLayout
        android:id="@+id/fullscreen_content_controls"
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true">

        <Button
                android:id="@+id/reload"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="@string/reload" />

    </LinearLayout>

    <WebView
        android:layout_width="fill_parent"
        android:id="@+id/webview"
        android:layout_above="@id/fullscreen_content_controls"
        android:layout_alignParentTop="true"
        android:layout_height="fill_parent" />
</RelativeLayout>
4

0 に答える 0