在Web视图中为Android旋转相机捕获

时间:2013-07-22 13:45:48

标签: android webview android-camera android-orientation

我正在捕获图像,将数据(字节数组)存储在2d字节数组中(用户最多可以为此任务拍摄5张图像)。每次捕获后,我都会在Web视图中显示它。即使我以纵向模式拍摄照片,它仍然在横向网页视图中加载以改变这一点或防止它发生?

我已经包含了android:orientation..etc

        //Setting Zoom Controls on Web View
         WebPreview.getSettings().setBuiltInZoomControls(true);
         WebPreview.getSettings().setDisplayZoomControls(false);
         WebPreview.getSettings().setLoadWithOverviewMode(true);
         WebPreview.getSettings().setUseWideViewPort(true);
         WebPreview.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
         imageData = PhotoHandler.ImageByteArray[pHandler.counter];
         openJpeg(WebPreview, imageData);

private static void openJpeg(WebView web, byte[] image)
{
    String b64Image = Base64.encodeToString(image, Base64.DEFAULT);
    String html = String.format(HTML_FORMAT, b64Image);
    web.loadData(html, "text/html", "utf-8");
}

我真的不确定该怎么做,我似乎无法找到任何有关旋转webview内容的信息。

感谢任何指导。

由于

1 个答案:

答案 0 :(得分:0)

对于可能遇到同样问题的人,我已经找到了轮换问题

我将字节数组转换为位图,旋转然后转换回字节数组......

        Bitmap test = BitmapFactory.decodeByteArray(IMdata, 0, IMdata.length);

        //Getting Width and Height of Bitmap
        int width = test.getWidth();
        int height = test.getHeight();

        Matrix rotMatrix = new Matrix();

        //Rotating Bitmap * 90 deg
        rotMatrix.postRotate(90);

        //Recreating new Bitmap After Rotation
        Bitmap testRot = Bitmap.createBitmap(receipt, 0,0,width, height, rotMatrix, true);

然后我将其转换回来

         testRot.compress(Bitmap.CompressFormat.JPEG, 60, stream);
         byte [] testArray = stream.toByteArray();

修改 我将单独发布有关相机的问题