创build360度互动产品预览
我觉得我要脱离这个论坛的背景,如果我请你指引我正确的方向。
我正在为一个网站创build一个360度旋转的产品预览。 例如:
http://uniqstudios.co.uk/vid-360/interactive-360-rotate-rich-media-2
我想知道是否有一个简单的方法来做到这一点,就像我们有全景照片应用程序一样,我可以使用一些应用程序来创build类似的东西吗? 或者有特定的相机来做到这一点。
另外,请让我知道如何在网站上embedded这些360度旋转图像。
在此先感谢,指导我正确的论坛,或帮助我在这里。 Zeeshan。
如果你有不同angular度的二维图像(如果你有gif图像,你可以从中提取帧),你可以按照下面的方法:
在可绘制文件夹中定义一个axml:
image_3D_images.xml
<level-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:maxLevel="0" android:drawable="@drawable/bg_01" /> <item android:maxLevel="1" android:drawable="@drawable/bg_02" /> <item android:maxLevel="2" android:drawable="@drawable/bg_03" /> <item android:maxLevel="3" android:drawable="@drawable/bg_04" /> <item android:maxLevel="4" android:drawable="@drawable/bg_05" /> </level-list>
然后用这样的imageview创build你的布局:
activity_3d_view.xml:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" > <ImageView android:id="@+id/santafe3dview" android:layout_gravity="center" android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/image_3d_images" android:scaleType="fitXY" /> </RelativeLayout>
然后在你的活动中写下面的代码:
Launcher3DViewActivity.java:
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mContext = this; setContentView(R.layout.activity_3d_view); m360DegreeImageView = (ImageView)findViewById(R.id.santafe3dview); } @Override public boolean onTouchEvent(MotionEvent event){ int action = MotionEventCompat.getActionMasked(event); switch(action) { case (MotionEvent.ACTION_DOWN) : mStartX = (int)event.getX(); mStartY = (int)event.getY(); return true; case (MotionEvent.ACTION_MOVE) : mEndX = (int)event.getX(); mEndY = (int)event.getY(); if((mEndX - mStartX) > 3) { mImageIndex++; if(mImageIndex > 56 ) mImageIndex = 0; m360DegreeImageView.setImageLevel(mImageIndex); } if((mEndX - mStartX) < -3) { mImageIndex--; if(mImageIndex <0) mImageIndex = 56; m360DegreeImageView.setImageLevel(mImageIndex); } mStartX = (int)event.getX(); mStartY = (int)event.getY(); return true; case (MotionEvent.ACTION_UP) : mEndX = (int)event.getX(); mEndY = (int)event.getY(); return true; case (MotionEvent.ACTION_CANCEL) : return true; case (MotionEvent.ACTION_OUTSIDE) : return true; default : return super.onTouchEvent(event); } }
我为android 360-Productview-Android-App创build了一个可拖动的360度视图
用户可以在360度旋转图像,就像我们在购物车网站上看到的一样,使用应用程序的细节在链接中描述。请参阅应用程序的video演示
图像上的真实物体的问题是,你不能计算它们,所以每个视angular都有它自己的图像,所以基本上你需要为一些视图位置有一个图像。
5°或甚至10°的angular度已经看起来相对平滑。 这可以显示72或36张图像,根据您的视angular可以显示。
我在一个应用程序中使用手指滑动会根据位置带来另一个图像。
要获得这些图像,您需要安装一个可以在其中定义每个定义位置的图片。
请小心内存pipe理,并在不需要的时候正确卸载图像。