0

我正在捕获图像,将数据(字节数组)存储在 2d 字节数组中(用户最多可以为此任务拍摄五张图像)。每次捕获后,我都会在 Web 视图中显示它。即使我以纵向模式拍摄照片,它也会以横向模式加载到 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 内容的信息..

任何指导表示赞赏。

谢谢

4

1 回答 1

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();

编辑 我将单独发布有关相机的问题

于 2013-07-23T12:02:54.653 回答