查看: 900|回复: 0
打印 上一主题 下一主题

[其他] unity3d 屏幕截图多种写法

[复制链接]

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2015-2-26 13:27:04 |只看该作者 |倒序浏览
unity3d 屏幕截图多种写法

function OnGUI(){

if(GUI.Button(Rect(Screen.width*0.5-50,Screen.height*0.5-50,100,100),“screen”)){

Application.CaptureScreenshot(“Screenshot.png”);

}

}

【c#】

using UnityEngine;

using System.Collections;

public class example : MonoBehaviour

{

void OnMouseDown()

{

Application.CaptureScreenshot(“Screenshot.png”);

}

}

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图片被存在了当前工程的子目录下了。

===========================================================

另外的方法

function ScreenshotEncode()

{

// wait for graphics to render

yield WaitForEndOfFrame();

// create a texture to pass to encoding

var texture:Texture2D = new Texture2D (Screen.width, Screen.height, TextureFormat.RGB24, false);

// put buffer into texture

texture.ReadPixels(Rect(0.0, 0.0, Screen.width, Screen.height), 0.0, 0.0);

texture.Apply();

// split the process up–ReadPixels() and the GetPixels() call inside of the encoder are both pretty heavy

yield;

// create our encoder for this texture

var encoder:JPGEncoder = new JPGEncoder(texture, 75.0);

// encoder is threaded; wait for it to finish

while(!encoder.isDone)

yield;

// save our test image (could also upload to WWW)

File.WriteAllBytes(Application.dataPath + “/../testscreen-” + count + “.jpg”, encoder.GetBytes());

count++;

}

//简便方法看下面:

function OnMouseDown() {

Application.CaptureScreenshot(“Screenshot.png”);

}
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-8-5 12:28 , Processed in 0.086819 second(s), 30 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部