下午好!告诉我如何覆盖图像(ImageView),将图像固定在眼睛上?我想使用 Google Vision API 进行跟踪。也许有一个如何将帽子戴在头上的例子?
添加。(2016 年 7 月 12 日)
使用以下代码:
imageView.setX(mPosition.x);
imageView.setY(mPosition.y);
postInvalidate();
没有严格地锚定(蓝色方块)到眼睛,你可以在与照片不同距离的截图中看到它:
请告诉我为什么会这样?
下午好!告诉我如何覆盖图像(ImageView),将图像固定在眼睛上?我想使用 Google Vision API 进行跟踪。也许有一个如何将帽子戴在头上的例子?
添加。(2016 年 7 月 12 日)
使用以下代码:
imageView.setX(mPosition.x);
imageView.setY(mPosition.y);
postInvalidate();
没有严格地锚定(蓝色方块)到眼睛,你可以在与照片不同距离的截图中看到它:
请告诉我为什么会这样?
Google Mobile Vision API GitHub 示例中有一个示例,说明了如何根据眼睛的位置绘制眼球图形:https ://github.com/googlesamples/android-vision/tree/master/visionSamples/googly-eyes
为了覆盖图像而不是绘制图元(如示例那样),您可以将图像加载到位图中
InputStream inputStream = contentResolver.openInputStream(imageUri);
Bitmap mBitmap = BitmapFactory.decodeStream(inputStream, null, options);
然后使用将其绘制到所需位置的画布上canvas.drawBitmap
canvas.drawBitmap(mBitmap, eyePosition.x, eyePosition.y, mPaint);
如果您与 ImageView 结婚,您可以将图像加载到其中,然后在跟踪器更新时直接更新该位置
imageView.setX(mPosition.x);
imageView.setY(mPosition.y);
postInvalidate();
确保这些 set 调用发生在创建视图的线程上,否则它们将引发异常。