unity3d屏幕截图功能
- function OnGUI(){
- if(GUI.Button(Rect(Screen.width*0.5-50,Screen.height*0.5-50,100,100),"screen")){
- Application.CaptureScreenshot("Screenshot.png");
- }
- }
这张Screenshot.png图片被存在了当前工程的子目录下了。之前在android上面一直不知道路径,后来把所有路径试玩了总算ok了,呵呵~~~在android上截取的图片存在Application.persistentDataPath上面,在pc上存在Application.dataPath。
- private var www:WWW;
- private var image:Texture;
- private var path:String;
- function Awake(){
- Application.CaptureScreenshot("Screenshot.png");
- }
- function Start () {
- if(Application.platform==RuntimePlatform.Android){
- path=Application.persistentDataPath;
- }else if(Application.platform==RuntimePlatform.WindowsPlayer){
- path=Application.dataPath;
- }else if(Application.platform==RuntimePlatform.WindowsEditor){
- path=Application.dataPath;
- path=path.Replace("/Assets",null);
- }
- www=new WWW("file://"+path+"/Screenshot.png");
- yield www;
- image=www.texture;
- }
- function OnGUI(){
- GUI.Label(Rect(0,0,400,50),"1:"+Application.persistentDataPath);
- GUI.Label(Rect(0,50,400,50),"2:"+Application.dataPath);
- GUI.Label(Rect(0,100,400,50),"3:"+Application.temporaryCachePath);
- GUI.Label(Rect(0,150,400,50),"4:"+Application.absoluteURL);
- GUI.Label(Rect(0,200,400,50),"5:"+Application.streamingAssetsPath);
- GUI.DrawTexture(Rect(0,250,300,200),image);
- }
在编辑器上各种路径:

在pc上各种路径:

在web上各种路径:

在android上面各种路径:

第二种方法:
- import System.IO;
- var www:WWW;
- var image:Texture;
- function Start () {
- }
- function OnGUI() {
- if(GUI.Button(Rect(0,0,100,100),"png")){
- writeFile();
- }
- if(Input.GetKey(KeyCode.Escape)){
- Application.Quit();
- }
- www=new WWW("file://"+path);
- image=www.texture;
- GUI.Button(Rect(Screen.width-100,0,100,100),image);
- }
- private var fileName : String = "jietu2";
- private var path:String;
- function writeFile()
- {
- path=Application.dataPath;
- var tex : Texture2D= new Texture2D(Screen.width,Screen.height,TextureFormat.RGB24, false);
- tex.ReadPixels(Rect(0,0,Screen.width,Screen.height),0,0);
- tex.Apply();
- var bytes : byte[]=tex.EncodeToPNG();
- Destroy(tex);
- var thisName : String = fileName+".png";
- if(Application.platform==RuntimePlatform.Android){
- path="/mnt/sdcard/"+thisName;
- }else{
- path=path+thisName;
- }
- var cache = new FileStream(path, FileMode.Create);
- cache.Write(bytes,0,bytes.Length);
- cache.Close();
- }

后来我又试了一下这个方法,结果又不行了,运行到var cache = new FileStream(path, FileMode.Create);就不运行了。
unity3d屏幕截图功能的更多相关文章
- node-webkit 屏幕截图功能
做 IM 屏幕截图是少不了的,之前 windows 版本是调用的 qq 输入法的截图功能,这个版本又再次尝试自己实现发现是可以的,getusermedia 的权限很高,代码如下 <!DOCTYP ...
- unity3d 计时功能舒爽解决方案
上次也写了一篇计时功能的博客 今天这篇文章和上次的文章实现思路不一样,结果一样 上篇文章地址:http://www.cnblogs.com/shenggege/p/4251123.html 思路决定一 ...
- Unity3D 固定功能函数
Unity 3D 测试固定功能函数执行顺序 1. 在GameObject和脚本激活状态下,测试: 2. 在GameObject激活状态下,测试: 3. 在2种情况都不激活的状态下测试:脚本无输出: 函 ...
- unity3d 各功能的运行秩序,打回来,订购,的次数
Update 当MonoBehaviour启用时,其Update在每一帧被调用. 仅调用一次(每帧) LateUpdate 当Behaviour启用时, 每帧调用一次: FixedUpdate 当M ...
- Unity3d 屏幕截图。并保存。iOS
- ( void ) imageSaved: ( UIImage *) image didFinishSavingWithError:( NSError *)error contextInfo: ( ...
- C#屏幕截图
今天通过C#来实现一个简单的屏幕截图功能.实现思路,获取鼠标按下去的位置和鼠标左键释放的位置,计算这个区域的宽度和高度.然后通过 Graphics.CopyFromScreen 方法便可以获取到屏幕截 ...
- JAVA B/S系统实现客户端屏幕截图,Java版的QQ截图
简介:本方法首先需要抓到屏幕的整个图象,将图象显示在一个JFrame中,再将JFrame全屏显示,这样就模拟出了一个桌面,Java也就可以获得鼠标的作用区域从而实现桌面中的小范围截屏.Java实现QQ ...
- pyautogui 文档(五):截图及定位功能
截图函数 PyAutoGUI可以截取屏幕截图,将其保存到文件中,并在屏幕中查找图像.如果您有一个小图像,例如需要单击并希望在屏幕上找到它的按钮,这将非常有用.这些功能由PyScreeze模块提供,该模 ...
- 《VR入门系列教程》之14---面向大众的Unity3D
大众化的游戏引擎--Unity3D 并不是所有VR应用都是游戏,然而现在做VR开发的几乎都会用专业游戏引擎来做,因为游戏引擎既满足了一个引擎的要求又可以方便地制作出高品质的VR应用.一个游戏引 ...
随机推荐
- Sharding-JDBC实现水平拆分-单库分表
参考资料:猿天地 https://mp.weixin.qq.com/s/901rNhc4WhLCQ023zujRVQ 作者:尹吉欢 当单表的数量急剧上升,超过了1千万以上,这个时候就要对表进行水平 ...
- requests上传文件,又要上传data的处理
前话 最近在自己学着弄接口自动化框架,因为要封装一个发送请求的父类,其中有考虑到上传文件,以及同时上传文件,和传递其他字段数据,遇到点小问题 这里解决下. 实例的接口数据 参考文档 来自fastapi ...
- 【从零开始撸一个App】Dagger2
Dagger2是一个IOC框架,一般用于Android平台,第一次接触的朋友,一定会被搞得晕头转向.它延续了Java平台Spring框架代码碎片化,注解满天飞的传统.尝试将各处代码片段串联起来,理清思 ...
- MacOS下如何优雅的使用冰蝎
因为冰蝎也是使用 JAVA 写的跨平台应用程序,我们可以借助 macOS 自带的 自动操作 automator.app 来创建一个应用程序. 前言: 冰蝎是一种新型的Webshell连接工具,在日常的 ...
- C#算法设计查找篇之04-斐波那契查找
斐波那契查找(Fibonacci Search) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/704 访问. 斐波那契 ...
- 02 Arduino-基于串口的学习
1串口通讯的基本理论知识,想必大家都熟悉,这里就不过多的介绍,这里主要花时间来介绍串口的应用 2参考内容如下所示: 3串口通讯所涉及到的函数分析 A if (Serial) 如果串口已经准备好了 ...
- Android学习进程 Java引用 Rxjava MVP
第一份Android开发工作,以便于记录学习进程 Java引用 Java没有显式的使用指针,但对象的访问仍是通过指针实现的,所以直接对象之间的赋值会导致存储空间是数据的改变,如设置两个对象,其中对象一 ...
- NodeJs+Express+SqlServer简易后台API服务搭建
首先安装nodejs 第一步 创建node项目配置package.json如下 express 使用方法可参考http://www.runoob.com/nodejs/nodejs-express-f ...
- dota2输入法无候选框?
win10自带的微软拼音在dota2中不会显示候选框,或者说是选词框. 这种情况下只能选择其他输入法. 我选择的是搜狗输入法(此随笔添加时的最新版),在dota2中有选词框. 网上有些人说要改兼容性, ...
- 41.4 Method Security方法安全性
41.4.1 <global-method-security> 这个元素是为Spring Security beans上的安全方法添加支持的主要手段.可以通过使用注释(在接口或类级别定义) ...