确实需要帮助找出为什么位图错误地放置在 image_view 上

发布于 2024-10-04 05:26:35 字数 1235 浏览 4 评论 0原文

这个问题已经困扰我好几天了,我不明白到底为什么会发生。我有一种检测面部的方法,如果检测到面部,该方法将沿着面部在画布上绘制一个矩形。

那部分工作正常。

问题是,当它显示到我的 xml 文件中的 image_view 时,它将显示在图像视图的最左侧中间的一个框中,而不是显示在宽度为 fill_parent 的中心。

我想到了一个可能的解决方法:将位图设置为位图可绘制,但画布仅绘制位图,因此我可以在中间获取位图可绘制,但周围没有红色框。

我注释掉了我对位图可绘制的测试,并将其保留为我现在所拥有的......它仅显示在 image_view 最左侧的我的 xml 中。请大家看看并帮忙!

我发布到pastebin是因为代码有点长(我也在视图翻转器中使用线性布局)。

方法:

http://pastebin.com/KQ5Pmx45

xml:

http://pastebin.com/jbt3j40h

因为我能够检测到面部,并且我可以将可绘制的位图粘贴到图像按钮并且它居中很好,所以如果我的问题无法解决,有没有办法获得位图可绘制周围的矩形?

谢谢!

编辑:我尝试将其实现为RelativeLayout,但仍然做同样的事情:

http://pastebin.com/daqMdXjB

Could this code be getting my way of centering?

    public void processCameraImage(Intent intent) {
        mFlipper.setDisplayedChild(1); // 1 == your second layout
        mThePicture = (ImageView) findViewById(R.id.image_view); //
        cameraBitmap = (Bitmap) intent.getExtras().get("data");

        mThePicture.setImageBitmap(cameraBitmap);
        detectFaces();

    }

this problem has been bothering me for days and I cannot figure out why on earth it is happening. I have a method that detects for a face, if a face is detected, the method will draw a rectangle on a canvas along the face.

That part works fine.

The problem is, when it displays to the image_view in my xml file, it will display on the far left middle of the image view, in a box, rather than in the center with the width as fill_parent.

I thought of a possible workaround : to set the bitmap as a bitmapdrawable, but canvas only draws to bitmaps, so I can get the bitmapdrawable in the middle, but with no red box around it.

I commented out my testing of bitmap drawable, and left it as what I have now...it only displays to my xml in the far left of the image_view. Please take a look and help!

I posted to pastebin because the code is a bit long (I am also using a linear layout within a view flipper).

method:

http://pastebin.com/KQ5Pmx45

xml:

http://pastebin.com/jbt3j40h

Since I am able to get the faces to detect, and I can paste a bitmap drawable to an imagebutton and it centers just fine, is there a way to get the rectangle around the bitmapdrawable if my problem cannot be solved?

Thanks!

EDIT: I tried to implement it into a RelativeLayout and still doing the same thing:

http://pastebin.com/daqMdXjB

Could this code be getting my way of centering?

    public void processCameraImage(Intent intent) {
        mFlipper.setDisplayedChild(1); // 1 == your second layout
        mThePicture = (ImageView) findViewById(R.id.image_view); //
        cameraBitmap = (Bitmap) intent.getExtras().get("data");

        mThePicture.setImageBitmap(cameraBitmap);
        detectFaces();

    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

并安 2024-10-11 05:26:36

在 Imageview 标签上使用 android:scaleType="fitCenter" 或 android:scaleType="centerInside" 或 android:scaleType="center" sclaetype attr doc

我希望我正确理解了你的问题。

Use on Imageview tag android:scaleType="fitCenter" or android:scaleType="centerInside" or android:scaleType="center" sclaetype attr doc

I hope, I understood your problem right.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文