unity屏幕截图

首先需要一个文件“System.Windows.Forms”,它在unity目录下比如“E:\Unity\unity5.6\Unity\Editor\Data\Mono\lib\mono\2.0”,往下找到文件“System.Windows.Forms”

接着需要在unity工程目录下创建一个名为“StreamingAssets”的文件夹用来存放截取的屏幕图片,如果不建立则系统会报错

最后将下列代码输入,在Update()里判断你想要截屏时的条件再执行协程,下面的是当按下鼠标左键时截屏

using UnityEngine;
using System.Collections;
using System.IO;

public class FrameAnimation : MonoBehaviour
{
    public Texture2D image;
    public int w;
    public int h;
    public float nextTime = 0.0f;
    public float rate = 0.3f;
    int i = 0;
    // Use this for initialization
    void Start()
    {
        w = Screen.width;
        h = Screen.height;
        image = new Texture2D(w, h);
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButton(0))
        {
           
            StartCoroutine(SaveImage(i));
        }
       
    }

    IEnumerator SaveImage(int i)
    {
        yield return new WaitForEndOfFrame();
        image.ReadPixels(new Rect(0, 0, w, h), 0, 0, true);//read pixels from screen to texture
        image.Apply();
        byte[] bytes = image.EncodeToPNG();
        File.WriteAllBytes(Application.streamingAssetsPath + "/" + i + ".png", bytes);
        Debug.Log("write a pic");
        yield return null;
    }
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值