您现在的位置是:首页 > 数码 > 正文
unity怎么添加camera Unity Android 之 移动端打开相机拍照并保存
发布时间:2022-05-20 17:20:20编辑:来源:
大家好,我是云百科的客服小柏,我来为大家解答以上问题。unity怎么添加camera,Unity,Android,之,移动端打开相机拍照并保存很多人还不知道,现在让我们一起来看看吧!
解答:
1、 打开团结,新建一个空工程,具体如下图
2、 在场景中添加一个原始图像(渲染相机图像),并且铺满画布,然后把帆布的渲染模式设置为屏幕空间-摄像机,其中渲染相机为主摄像头,具体如下图
3、 在工程中新建一个脚本,可以命名为"OpenCameraAndSaveImage",双击或者右键打开脚本进行编辑,具体如下图
4、 "OpenCameraAndSaveImage"的具体代码和代码说明如下图
5、 "OpenCameraAndSaveImage"脚本具体内容如下:
6、 使用系统。收藏;
7、 使用系统。木卫一;
8、 使用联合工程
9、 使用联合工程.UI;
10、 公共类OpenCameraAndSaveImage:MonoBehaviour{
11、 //用户界面相关参数
12、 公共原始图像
13、 公共按钮按钮_拍照
14、 //摄像机图片参数
15、 私有网络摄像头纹理网络摄像头纹理
16、 //使用它进行初始化
17、 voidStart(){
18、 //打开相机
19、 StartCoroutine('opencamera');
20、 //按钮绑定点击事件
21、 按钮_拍照。onclick。添加监听器(takepotoandsaveimage_Button);
22、 }
23、 ///摘要
24、 ///使用协程打开相机函数
25、 ////摘要
26、 ///返回/返回
27、 IEnumeratorOpenCamera(){
28、 //申请相机权限
29、 退货申请请求用户授权(用户授权.网络摄像头);
30、 //判断是否有相机权限
31、 如果(应用hasuserauthorization(用户授权.网络摄像头)){
32、 //获取相机设备
33、 网络摄像头设备[]网络摄像头设备=网络摄像头纹理。设备;
34、 //判断是否有相机设别
35、 if(webCamDevices!=空网络摄像机设备。长度0){
36、 //把0号设备(移动端后置摄像头)名称赋值
37、 stringwebCamName=webCamDevices[0].姓名;
38、 //设置相机渲染宽高,并运行相机
39、 webCamTexture=newwebCamTexture(webCamName,Screen.width,Screen。身高);
40、 网络摄像头纹理.play();
41、 //把获取的图像渲染到画布上
42、 原始图像。texture=webCamTexture
43、 }
44、 }
45、 }
46、 ///摘要
47、 ///拍照保存函数的包装接口
48、 ////摘要
49、 voidtakephotoandsaveimage_Button()
50、 {
51、 //调用拍照保存函数
52、 takepotoandsaveimage(webCamTexture);
53、 }
54、 ///摘要
55、 ///保存图片的接口函数
56、 ////摘要
57、 ///paramname='tex'/param
58、 voidtakephotoandsaveimage(WebCamTexturetex){
59、 //新建一个Texture2D来获取相机图片
60、 //然后把图片转成使用联合图象专家组文件交换格式存储的编码图像文件扩展名格式的字节
61、 Texture2Dtexture2D=新Texture2D(tex.width,tex.height,TextureFormat.RGBA32,真);
62、 纹理2D.设定像素32(特克斯.getpixels32());
63、 纹理2D.apply();
64、 byte[]imagebytes=texture2dencodeojpg();
65、 //判断图片字节是否为空
66、 if(imageBytes!=空图像字节.长度0){
67、 //判断机器人平台,进行对应路径设置
68、 字符串保存路径;
69、 字符串平台路径=应用程序。流式资源路径“/MyTempPhotos”;
70、 #如果UNITY_ANDROID!UNITY_EDITOR
71、 平台路径='/SD卡/DCIM/MyTempPhotos';
72、 #endif
73、 //如果文件夹不存在,就创建文件夹
74、 如果(!目录。存在(平台路径)){
75、 目录CreateDirectory(平台路径);
76、 }
77、 //保存图片
78、 保存路径=平台路径'/'时间。德尔塔时间.jpg';
79、 文件WriteAllBytes(保存路径,图像字节);
80、 }
81、 }
82、 }
83、 脚本编译正确,回到一致中,在帆布添加一个按钮,用来进行拍照保存图片的触发按钮,布局如下图
84、 把脚本挂载到主摄像机上,并对应给脚本赋值,具体如下图
85、 打开"文件"-"构建设置",把当前的场景添加进去,然后点击播放器设置.具体如下图
86、 在其他设置中的写权限设置为外部(标清卡),具体如下图
87、 然后,连接手机,打包安装到手机上,运行点击"拍照"按钮,即可实现机器人端打开相机,进行拍照保存,具体如下图
本文到此讲解完毕了,希望对大家有帮助。
标签:
猜你喜欢
最新文章
- DeepSeek公告:线上服务遭大规模恶意攻击,暂限非+86手机号注册
- IGN揭秘《刺客信条:影》新实机演示:主角形象深入人心!
- 焕新登场:全新起亚K4紧凑型车图解赏析
- 重庆:2025年将持续推进163项城中村改造项目
- 蔚来乐道春节期间暂停车机升级,2月6日恢复推送服务
- 超有牌面!国产游戏《明末:渊虚之羽》登上英国《EDGE》杂志封面,漫画风女侠惊艳亮相
- 币界网晚间行情速递:BTC比特币报价$103,391.48,日内微跌1.04%
- 暗区突围:全面转载新手必备攻略
- 未来人生:个人满级天赋展示与深度评价(五)
- 探索功夫英雄的奇妙世界:玩法特色与剧情概览
- 最后一波福利!速来领取《黑神话:悟空》限定红包封面!
- 《暗黑4》Steam史无前例大促:标准版仅售191.4元,速来抢购!
- 广东:2027年目标全面构建绿色低碳循环经济体系
- 金价飙升,直逼840元大关!黄金店铺春节延期休假,蛇金饰品与足金手机贴受热捧!
- 《宝可梦卡牌P》新扩展包时空激战1月30日震撼发布,帝牙卢卡荣耀参战
- 截至今晨7点,全国172个公路路段受雨雪寒潮侵袭影响
- 币界网晚间行情速递:DOT波卡币攀升至6.446美元/枚,日内涨幅达2.01%
- 《龙腾世纪4》销量惨淡致EA股价暴跌21.25%!市场反应强烈
- 比亚迪海豹汽车OTA升级:全新引入城市领航功能等重磅更新
- 特朗普透露或于30日天内决断TikTok命运
- 10亿基金助力,中部城市赣州抢占人形机器人产业先机
- 《蛋仔派对》服务器崩溃引发玩家不满,官方深夜致歉并修复问题
- Stellantis重启美国贝尔维迪尔工厂,千余员工将重返岗位
- 一鸣食品全资子公司增资扩建:1.32亿打造4500头规模繁育基地