Android 360度全景图功能

方法一:OpenGL ES

1.在build.gradle文件中添加依赖

allprojects {repositories {maven { url 'https://jitpack.io' }}
}

高版本AS中settings.gradle.kts:

dependencyResolutionManagement {repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)repositories {google()mavenCentral()maven { url = uri("https://jitpack.io") }}
}

2.添加库依赖

compile 'com.github.CN-ZPH:weibo360panorama:v1.0.1'

高版本AS中:

implementation("com.github.CN-ZPH:weibo360panorama:v1.0.1")

3.添加布局文件

<com.zph.glpanorama.GLPanoramaandroid:id="@+id/mGLPanorama"android:layout_width="match_parent"android:layout_height="match_parent">
</com.zph.glpanorama.GLPanorama>

4.传入你的全景图

public class Main2Activity extends AppCompatActivity {private GLPanorama mGLPanorama;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main2);//初始化全景控件mGLPanorama= (GLPanorama) findViewById(R.id.mGLPanorama);mGLPanorama.setGLPanorama(R.drawable.bbb);}
}

示例如下:

方法二:Google VR

1.添加依赖

目前GitHub上最新版本号为1.8.0,我这里也用最新的了。 
最低支持到 minSdkVersion 19 也就是Android 4.4.0 
在 build.gradle 文件中添加库依赖:

    dependencies {compile 'com.google.vr:sdk-panowidget:1.80.0'}

2.创建布局

 <com.google.vr.sdk.widgets.pano.VrPanoramaViewandroid:id="@+id/mVrPanoramaView"android:layout_width="match_parent"android:layout_height="250dip"/>

3.AndroidManifest中添加权限

 <!-- These permissions are used by Google VR SDK to get the best Google VR headset profiles. !--><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />//因为全景图较大,所以在application下申请更多空间,但是作为一个有节操的码农建议你不要这么干。<application   android:largeHeap="true"   </application>

4.Activity中初始化组件

//初始化VR图片private void initVrPaNormalView() {mVrPanoramaView = (VrPanoramaView) findViewById(R.id.mVrPanoramaView);VrPanoramaView.Options paNormalOptions = new VrPanoramaView.Options();paNormalOptions.inputType = VrPanoramaView.Options.TYPE_STEREO_OVER_UNDER;
//      mVrPanoramaView.setFullscreenButtonEnabled (false); //隐藏全屏模式按钮mVrPanoramaView.setInfoButtonEnabled(false); //设置隐藏最左边信息的按钮mVrPanoramaView.setStereoModeButtonEnabled(false); //设置隐藏立体模型的按钮mVrPanoramaView.setEventListener(new ActivityEventListener()); //设置监听//加载本地的图片源mVrPanoramaView.loadImageFromBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.andes), paNormalOptions);//设置网络图片源
//        panoWidgetView.loadImageFromByteArray();}private class ActivityEventListener extends VrPanoramaEventListener {@Overridepublic void onLoadSuccess() {//图片加载成功}@Overridepublic void onLoadError(String errorMessage) {//图片加载失败}@Overridepublic void onClick() {//当我们点击了VrPanoramaView 时候触发            super.onClick();}@Overridepublic void onDisplayModeChanged(int newDisplayMode) {super.onDisplayModeChanged(newDisplayMode);}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/796045.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蜂窝物联:智慧大田解决方案

蜂窝物联智慧大田解决方案集成了传感器、自动化控制、农情监测、物联网、无线通讯等技术&#xff0c;对与农作物生长及其物候期观测密切相关的土壤、空气、光照、热量等环境因子进行实时监测&#xff0c;智能预警&#xff1b;对田间灌溉电磁阀、水肥一体机进行远程智能自动化控…

9-浏览器必备插件

9-浏览器必备插件 1.Flash Copilot 浏览器超级助手 解决收藏夹 以及使用的办法 2.fehelper 本身还集成插件&#xff0c;满足开发使用 3.SuperCopy 超级复制 SuperCopy 超级复制 一键破解禁止右键、破解禁止选择、破解禁止复制、破解禁止粘贴&#xff0c;启用复制&#xff0c;…

SpringBoot | Spring Boot“整合Redis“

目录: 1. Redis 介绍2. Redis 下载安装3. Redis “服务开启”和“连接配置”4. Spring Boot整合Redis的“前期准备” :① 编写实体类② 编写Repository 接口③ 在“全局配置文件”中添加 “Redis数据库” 的 “相关配置信息” 5. Spring Boot整合“Redis” (案例展示) 作者简介…

Linux网卡与公网IP地址:一个不可随意配置的世界

在Linux系统的网络配置中&#xff0c;IP地址的配置是基础也是关键。许多人可能好奇&#xff1a;为何不能随意为Linux网卡配置公网IP地址&#xff0c;而私网IP地址似乎就可以随心所欲呢&#xff1f;本文将解开这些问题的答案&#xff0c;探索公网IP地址被严格管控的原因&#xf…

【UnityRPG游戏制作】Unity_RPG项目之界面面板分离和搭建

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

深度学习500问——Chapter05: 卷积神经网络(CNN)(4)

文章目录 5.18 卷积神经网络凸显共性的方法 5.18.1 局部连接 5.18.2 权值共享 5.18.3 池化操作 5.19 全连接、局部连接、全卷积与局部卷积 5.20 局部卷积的应用 5.21 NetVLAD池化 参考文献 5.18 卷积神经网络凸显共性的方法 5.18.1 局部连接 我们首先了解一个概念&#xff0c…

vue 打包 插槽 inject reactive draggable 动画 foreach pinia状态管理

在Vue项目中&#xff0c;当涉及到打包、插槽&#xff08;Slots&#xff09;、inject/reactive、draggable、transition、foreach以及pinia时&#xff0c;这些都是Vue框架的不同特性和库&#xff0c;它们各自在Vue应用中有不同的用途。下面我将逐一解释这些概念&#xff0c;并说…

8、滑动窗口-无重复字符的最长子串

解析&#xff1a; 遍历 判断map是否包含当前字符&#xff0c;如果包含&#xff1a; 获取重复的index下标在哪里获取len长度重新设置L指针,其中L指针不回退&#xff0c;也就是如果这个重复值在L前面那就忽略&#xff0c;如果是在后面那就设置为index1。 代码如下&#xff1a; …

二叉树算法练习day.2

102.二叉树的层序遍历 链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a; 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&a…

小米手机澎湃OS,不Root查看电池健康

首先&#xff0c;在键盘拨号界面&#xff0c;输入*#*#284#*#*&#xff0c;会调用问题反馈APP来生成当前系统的故障日志&#xff0c;如果提示你需要授权什么就点确认 稍等几分钟&#xff0c;会得到一个压缩包&#xff0c;保存在目录MIUI/debug_log下 这里为了方便&#xff0c;我…

Shell编程初识

Shell初识 ShellShell 脚本Shell 环境第一个shell脚本实例 运行 Shell 脚本方法&#xff1a;1、作为可执行程序2、作为解释器参数3.使用 . (空格)脚本名称来执行4.使用 source 来执行(主要用于生效配置文件)区别1.关于执行权限2.关于是否开启子shell线程 脚本排错及问题判断she…

LLM推理参数(top_k,top_p, temperature, num_beams)

正常LLM做 next token predicate 时&#xff0c;对输出的 logits 做 softmax&#xff0c;选择概率最大的token。 num_beams &#xff1a;当我们设置 num_beams2 后&#xff0c;就使用了 beam search 的方法&#xff0c;每次不是只直接选择概率最大的 token&#xff0c;而是保留…

三子棋游戏----C语言版【超级详细 + 视频演示 + 完整源码】

㊙️小明博客主页&#xff1a;➡️ 敲键盘的小明 ㊙️ ✅关注小明了解更多知识☝️ 文章目录 前言一、三子棋的实现思路二、三子棋的实现步骤2.1 先显示游戏的菜单2.2 游戏的具体实现2.2.1 棋盘的初始化2.2.2 展示棋盘2.2.3 下棋&#x1f534;玩家下棋&#x1f534;电脑下棋2.2…

申请SSL证书

有很多方法可以确保您的网站安全。添加SSL证书可针对恶意攻击提供额外且关键的保护层。 即使网站不接受交易&#xff0c;您仍然需要保护用户的登录详细信息、地址和其他个人信息。 没有SSL证书的网站使用HTTP&#xff08;一种基于文本的协议&#xff09;&#xff0c;这意味着…

网络编程套接字应用分享【Linux C/C++ 】【UDP应用 | TCP应用 | TCP线程池小项目】

目录 前提知识 1. 理解源ip&#xff0c;目的ip和Macip 2. 端口号 3. 初识TCP&#xff0c;UDP协议 4. 网络字节序 5. socket 编程 sockaddr类型 一&#xff0c;基于udp协议编程 1. socket——创建套接字 2. bind——将套接字强绑定 3. recvfrom——接受数据 4. s…

AI跟踪报道第36期-新加坡内哥谈技术-这周的AI新闻铺天盖地

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

从多模态生物图数据中学习Gene的编码-MuSeGNN

由于数据的异质性&#xff0c;在不同的生物医学背景下发现具有相似功能的基因对基因表示学习提出了重大挑战。在本研究中&#xff0c;作者通过引入一种称为多模态相似性学习图神经网络的新模型来解决这个问题&#xff0c;该模型结合了多模态机器学习和深度图神经网络&#xff0…

JS 利用 webcam访问摄像头 上传到服务器

webcam JS 较为详细的指南 定义标题 <!doctype html> <html> <head><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>How to capture picture from webcam with Webcam.js</title></…

stm32开发之threadx使用记录(主逻辑分析)

前言 threadx的相关参考资料 论坛资料、微软官网本次使用的开发板为普中科技–麒麟&#xff0c;核心芯片为 stm32f497zgt6开发工具选择的是stm32cubemx(代码生成工具)clion(代码编写工具)编译构建环境选择的是arm-none-gcc编译 本次项目结构 CMakeList对应的配置 set(CMAKE_…

Thinkphp5萤火商城B2C小程序源码

源码介绍 Thinkphp5萤火商城B2C小程序源码&#xff0c;是一款开源的电商系统&#xff0c;为中小企业提供最佳的新零售解决方案。采用稳定的MVC框架开发&#xff0c;执行效率、扩展性、稳定性值得信赖。 环境要求 Nginx/Apache/IIS PHP5.4 MySQL5.1 建议使用环境&#xff…