Unity3D的截屏函数
来源:互联网 发布:广州健坤网络 编辑:程序博客网 时间:2024/06/05 08:27
原文地址:http://docs.unity3d.com/Documentation/ScriptReference/Application.CaptureScreenshot.html
Application.CaptureScreenshot
静态函数
void CaptureScreenshot (String filename, int superSize = 0)
描述
抓取一张屏幕截图并以png格式保存为给定的文件名。
(译者:文件会被保存在/data/data/your.package.name/files/目录下)
如果文件已经存在,会覆盖。该函数不能用于web player中。
如果supersize这个参数大于1,会截出更高分辨率的图片,例如supersize设为4,那么截出的图会是普通情况下的4X4倍大,这个参数在需要打印截图的场合会很有用。
示例:
function OnMouseDown()
{
Application.CaptureScreenshot("Screenshot.png");
}
Unity中另外一种截屏的方法:
主要用到了Texture2D.ReadPixels()方法和Texture2D.EncodeToPng()方法
原文地址:http://docs.unity3d.com/Documentation/ScriptReference/WaitForEndOfFrame.html
JS代码:
import System.IO;function Start() { UploadPNG();}function UploadPNG() {yield WaitForEndOfFrame(); var width = Screen.width; var height = Screen.height;var tex = new Texture2D( width, height, TextureFormat.RGB24, false ); tex.ReadPixels( Rect(0, 0, width, height), 0, 0 ); tex.Apply();var bytes = tex.EncodeToPNG();Destroy( tex );File.WriteAllBytes(Application.dataPath + "/../SavedScreen.png", bytes);var form = new WWWForm();form.AddField("frameCount", Time.frameCount.ToString());form.AddBinaryData("fileUpload",bytes);var w = WWW("http://localhost/cgi-bin/env.cgi?post", form);yield w; if (w.error != null) print(w.error); else print("Finished Uploading Screenshot"); }
C#代码:
using System.IO;using UnityEngine;using System.Collections;public class example : MonoBehaviour { void Start() { UploadPNG(); } IEnumerator UploadPNG() { yield return new WaitForEndOfFrame(); int width = Screen.width; int height = Screen.height; Texture2D tex = new Texture2D(width, height, TextureFormat.RGB24, false); tex.ReadPixels(new Rect(0, 0, width, height), 0, 0); tex.Apply(); byte[] bytes = tex.EncodeToPNG(); Destroy(tex); WWWForm form = new WWWForm(); form.AddField("frameCount", Time.frameCount.ToString()); form.AddBinaryData("fileUpload", bytes); WWW w = new WWW("http://localhost/cgi-bin/env.cgi?post", form); yield return w; if (w.error != null) print(w.error); else print("Finished Uploading Screenshot"); }}
- Unity3D的截屏函数
- Unity3D的截屏函数
- Unity3D的截屏函数
- Unity3D的事件函数
- unity3D的update·函数
- Unity3D 神奇的GetGPUProjectionMatrix函数
- Unity3D重要的函数方法
- 【Unity3D】 Unity3D中自带事件函数的执行顺序
- Unity3D的GameObject的SendMessage相关函数
- Unity3d调用Quaternion的函数问题
- unity3d 事件函数的执行顺序
- Unity3D中随机函数的应用
- Unity3D中随机函数的应用
- Unity3D中随机函数的应用
- 【Unity3D自学记录】重要的函数
- Unity3D 实现爆炸效果的函数
- Unity3D中事件函数的执行顺序
- Unity3D默认函数的执行顺序
- SpringOne开发者大会技术资料下载地址
- 16周:放开玩字符串
- NDK log
- CFileDialog的构造函数
- 项目二 数组去格 又出不来了
- Unity3D的截屏函数
- cqp VS bitrate VS crf [学习笔记]
- arm体系结构_amba总线
- 从30岁到35岁:为你的生命多积累一些厚度(2) 如何打好基础
- android 从服务器下载更新新版本软件 demo
- HTTP协议_01_请求/响应
- MFC添加快捷键、热键和修改的问题
- GCC 中文手册
- 第十六周任务:小心的玩字符串(3)