我觉得我将脱离这个论坛的背景,如果我愿意,请指导我正确的方向.
我是为网站创建一个360度旋转产品预览.例如:
http://uniqstudios.co.uk/vid-360/interactive-360-rotate-rich-media-2
我想知道是否有一种简单的方法可以做到这一点,比如我们如何拥有全景照片应用程序,我是否可以使用某些应用程序创建这样的东西?或者有特定的相机来做它.
另外,请让我知道如何在网站上嵌入这些360度旋转图像.
提前致谢,指导我到正确的论坛,或者在这里帮助我.
Zeeshan.
解决方法
如果你有不同角度的2D图像(如果你有gif图像,你可以从中提取帧),你可以通过以下方式做到:
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创建你的布局:
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); } }
原文地址:https://www.jb51.cc/android/309922.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。