1. function OnGUI(){
  2. if(GUI.Button(Rect(Screen.width*0.5-50,Screen.height*0.5-50,100,100),"screen")){
  3. Application.CaptureScreenshot("Screenshot.png");
  4. }
  5. }

这张Screenshot.png图片被存在了当前工程的子目录下了。之前在android上面一直不知道路径,后来把所有路径试玩了总算ok了,呵呵~~~在android上截取的图片存在Application.persistentDataPath上面,在pc上存在Application.dataPath。

  1. private var www:WWW;
  2. private var image:Texture;
  3. private var path:String;
  4. function Awake(){
  5. Application.CaptureScreenshot("Screenshot.png");
  6. }
  7. function Start () {
  8. if(Application.platform==RuntimePlatform.Android){
  9. path=Application.persistentDataPath;
  10. }else if(Application.platform==RuntimePlatform.WindowsPlayer){
  11. path=Application.dataPath;
  12. }else if(Application.platform==RuntimePlatform.WindowsEditor){
  13. path=Application.dataPath;
  14. path=path.Replace("/Assets",null);
  15. }
  16. www=new WWW("file://"+path+"/Screenshot.png");
  17. yield www;
  18. image=www.texture;
  19. }
  20. function OnGUI(){
  21. GUI.Label(Rect(0,0,400,50),"1:"+Application.persistentDataPath);
  22. GUI.Label(Rect(0,50,400,50),"2:"+Application.dataPath);
  23. GUI.Label(Rect(0,100,400,50),"3:"+Application.temporaryCachePath);
  24. GUI.Label(Rect(0,150,400,50),"4:"+Application.absoluteURL);
  25. GUI.Label(Rect(0,200,400,50),"5:"+Application.streamingAssetsPath);
  26. GUI.DrawTexture(Rect(0,250,300,200),image);
  27. }

在编辑器上各种路径:

在pc上各种路径:

在web上各种路径:

在android上面各种路径:

第二种方法:

  1. import System.IO;
  2. var www:WWW;
  3. var image:Texture;
  4. function Start () {
  5. }
  6. function OnGUI() {
  7. if(GUI.Button(Rect(0,0,100,100),"png")){
  8. writeFile();
  9. }
  10. if(Input.GetKey(KeyCode.Escape)){
  11. Application.Quit();
  12. }
  13. www=new WWW("file://"+path);
  14. image=www.texture;
  15. GUI.Button(Rect(Screen.width-100,0,100,100),image);
  16. }
  17. private var fileName : String = "jietu2";
  18. private var path:String;
  19. function writeFile()
  20. {
  21. path=Application.dataPath;
  22. var tex : Texture2D= new Texture2D(Screen.width,Screen.height,TextureFormat.RGB24, false);
  23. tex.ReadPixels(Rect(0,0,Screen.width,Screen.height),0,0);
  24. tex.Apply();
  25. var bytes : byte[]=tex.EncodeToPNG();
  26. Destroy(tex);
  27. var thisName : String = fileName+".png";
  28. if(Application.platform==RuntimePlatform.Android){
  29. path="/mnt/sdcard/"+thisName;
  30. }else{
  31. path=path+thisName;
  32. }
  33. var cache = new FileStream(path, FileMode.Create);
  34. cache.Write(bytes,0,bytes.Length);
  35. cache.Close();
  36. }

后来我又试了一下这个方法,结果又不行了,运行到var cache = new FileStream(path, FileMode.Create);就不运行了。

unity3d屏幕截图功能的更多相关文章

  1. node-webkit 屏幕截图功能

    做 IM 屏幕截图是少不了的,之前 windows 版本是调用的 qq 输入法的截图功能,这个版本又再次尝试自己实现发现是可以的,getusermedia 的权限很高,代码如下 <!DOCTYP ...

  2. unity3d 计时功能舒爽解决方案

    上次也写了一篇计时功能的博客 今天这篇文章和上次的文章实现思路不一样,结果一样 上篇文章地址:http://www.cnblogs.com/shenggege/p/4251123.html 思路决定一 ...

  3. Unity3D 固定功能函数

    Unity 3D 测试固定功能函数执行顺序 1. 在GameObject和脚本激活状态下,测试: 2. 在GameObject激活状态下,测试: 3. 在2种情况都不激活的状态下测试:脚本无输出: 函 ...

  4. unity3d 各功能的运行秩序,打回来,订购,的次数

    Update 当MonoBehaviour启用时,其Update在每一帧被调用. 仅调用一次(每帧) LateUpdate 当Behaviour启用时,  每帧调用一次: FixedUpdate 当M ...

  5. Unity3d 屏幕截图。并保存。iOS

    - ( void ) imageSaved: ( UIImage *) image didFinishSavingWithError:( NSError *)error contextInfo: ( ...

  6. C#屏幕截图

    今天通过C#来实现一个简单的屏幕截图功能.实现思路,获取鼠标按下去的位置和鼠标左键释放的位置,计算这个区域的宽度和高度.然后通过 Graphics.CopyFromScreen 方法便可以获取到屏幕截 ...

  7. JAVA B/S系统实现客户端屏幕截图,Java版的QQ截图

    简介:本方法首先需要抓到屏幕的整个图象,将图象显示在一个JFrame中,再将JFrame全屏显示,这样就模拟出了一个桌面,Java也就可以获得鼠标的作用区域从而实现桌面中的小范围截屏.Java实现QQ ...

  8. pyautogui 文档(五):截图及定位功能

    截图函数 PyAutoGUI可以截取屏幕截图,将其保存到文件中,并在屏幕中查找图像.如果您有一个小图像,例如需要单击并希望在屏幕上找到它的按钮,这将非常有用.这些功能由PyScreeze模块提供,该模 ...

  9. 《VR入门系列教程》之14---面向大众的Unity3D

    大众化的游戏引擎--Unity3D     并不是所有VR应用都是游戏,然而现在做VR开发的几乎都会用专业游戏引擎来做,因为游戏引擎既满足了一个引擎的要求又可以方便地制作出高品质的VR应用.一个游戏引 ...

随机推荐

  1. requests入门实践01_下载2560*1080的电脑壁纸

    新版本移步:https://www.cnblogs.com/zy7y/p/13376228.html 附上代码 # !usr/bin/env python # -*- coding:utf-8 -*- ...

  2. 分布式任务调度平台 → XXL-JOB 实战

    开心一刻 老师:谁知道鞭炮用英语怎么说? 甲:老师!老师!我知道,鞭炮的英文是pilipala. 老师:那闪电呢? 乙:kucha kucha 老师:那舞狮呢? 丙:dong dong qiang 老 ...

  3. 面经手册 · 第2篇《数据结构,HashCode为什么使用31作为乘数?》

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 在面经手册的前两篇介绍了<面试官都问我啥>和<认知自己的技术栈盲区 ...

  4. 暑期java(面向对象设计)学习第一阶段总结

    0.前言 本次博客针对的是暑假学习java(面向对象设计)的前三次作业的小结,第一次作业:7-1 对三个整数排序 7-2 对四个整数排序 7-3 对十个整数进行排序 7-4 对多个整数进行排序 第二次 ...

  5. Python多进程队列间传递对象

    前言 在python 需要在队列中传递对象, 会出现进程不能正常退出的情况. 其原因是因为 在父进程 向子进程传入的Queue对象不对, Queue对象正常是子进程之间的信息传递, 而当我在父进程 创 ...

  6. jquery—实现能滚动的选项卡效果

    选项卡在网页中很常见,可以说是必备的一个元素了,网上其实也有很多案例讲解选项卡的做法,写这篇文章,就是记录下自己的写一个的实例效果图: html: css样式: 主要是滚动条的的样式设置width:1 ...

  7. 极简 Node.js 入门 - 3.1 File System API 风格

    极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...

  8. Nginx CORS 跨域资源共享问题

    ## 背景 新项目上线,前后端分离,遇到了跨域资源共享的问题,导致请求根本无法发送到后端,前端和后端貌似只能有一个来处理跨域问题,我们这边要采用nginx来解决跨域问题. ## Nginx的CORS配 ...

  9. 第四周:卷积神经网络 part 3

    第四周:卷积神经网络 part 3 视频学习 语义分割中的自注意力机制和低秩重建 语义分割(Semantic Segmentation) 概念:语义分割是在像素级别上的分类,属于同一类的像素都要被归为 ...

  10. Python-Opencv 轮廓常用操作

    Python-Opencv 轮廓常用操作 1.颜色空间转换 使用cv2.cvtColor(input_image ,flag),flag为转换类型 常用的转换类型有: BGR和灰度图的转换使用 cv2 ...