gpt4 book ai didi

android - 如何在android中创建动态用户面部模型?

转载 作者:IT老高 更新时间:2023-10-28 23:36:27 25 4
gpt4 key购买 nike

您好,我想在android中创建动态用户面部模型并显示给用户。

我已经搜索并发现我需要用户不同角度的面部框架(图像),例如 14 到 16 个图像,并且为了显示目的需要在用户手指滑动时使用 opengl(为了平滑度)更改图像(框架),使其看起来像 3D图片。
但我想在每一帧中进行一些编辑(如戴耳环)并像这样向用户显示 https://lh3.googleusercontent.com/WLu3hm0nIhW5Ps9GeMS9PZiuc3n2B8xySKs1LfNTU1drOIqJ-iEvdiz-7Ww0ZX3ZtLk=h900

请给我一些建议或例子。

最佳答案

我希望您的图像适合内存。
您可以将每个图像的 ImageView 添加到 FrameLayout 并让一个 ImageView 可见。然后你甚至可以使用淡入/淡出动画来改善切换到下一张图片时的效果。

ImageView[] imageViews;
int currentView = 0;

...

// fill imageViews

...

ImageView image1 = imageViews[currentView];

if (moveRight) {
if (++currentView >= imageViews.length) currentView = 0;
} else {
if (--currentView < 0) currentView = imageViews.length - 1;
}

ImageView image2 = imageViews[currentView];

image1.setVisibility(View.INVISIBLE);
image1.startAnimation(AnimationUtils.loadAnimation(context, R.anim.fade_out));
image2.setVisibility(View.VISIBLE);
image2.startAnimation(AnimationUtils.loadAnimation(context, R.anim.fade_in));

anim/fade_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator">
<alpha
android:duration="150"
android:fromAlpha="0.0"
android:toAlpha="1.0"/>
</set>

anim/fade_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator">
<alpha
android:duration="150"
android:fromAlpha="1.0"
android:toAlpha="0.0"/>
</set>

关于硬件加速,我认为在这种情况下,Android 可以为您处理。从 Android 3.0 开始,您可以在应用程序或 Activity 的 list 中定义它:

android:hardwareAccelerated="true"

或者,您可以为特定 View 设置它。

使用 XML:

android:layerType="hardware"

使用 Java:

view.setLayerType(View.LAYER_TYPE_HARDWARE, null);

在这里您可以找到有关 Hardware Acceleration 的更多信息

关于android - 如何在android中创建动态用户面部模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34413850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com