zoukankan      html  css  js  c++  java
  • Unity截图

    什么都不说了,直接上代码。

    using UnityEngine;
    using System.Collections;
    using System.IO;
    
    public class CutImage : MonoBehaviour 
    {
        public Vector2 startPos;     //鼠标开始位置
        public Vector2 endPos;   //鼠标结束位置
        void Update()
        {
            if(Input.GetMouseButtonDown(0))
            {
                startPos = Input.mousePosition;
            }
            if(Input.GetMouseButtonUp(0))
            {
                endPos = Input.mousePosition;
                StartCoroutine(CreateImage());   //当鼠标按键抬起,开始截图
            }
    
        }
    
        IEnumerator CreateImage()
        {
            int width = (int)(endPos.x - startPos.x);      //图片宽
            int height = (int)(startPos.y - endPos.y);     //图片高
            Texture2D image = new Texture2D(width, height,TextureFormat.ARGB32, true);   //创建一个纹理
            Rect rect = new Rect(startPos.x, Screen.height - (Screen.height - endPos.y), width, height);      //在屏幕上截取一个矩形
            yield return new WaitForEndOfFrame();    //等待帧结束
    
            image.ReadPixels(rect,0, 0,  true);   //在屏幕的规定区域内读取像素
            image.Apply();       //转化成图片
            yield return image;
    
            byte[] bs = image.EncodeToPNG();      //把图片转化成二进制
            File.WriteAllBytes(Application.dataPath + "/Image.png", bs);     //把图片街道本地
            yield return null;
        }
    
    }
  • 相关阅读:
    cocos2d多语言互调之一---lua调java
    vue 组件
    封装 XMLHttpRequest
    Ajax 请求
    jq 显示和隐藏 计时器
    jq 动画DOM及其操作
    jq 表单提交
    jq 事件绑定
    js 一些实用的封装和兼容
    工厂、原型、混合模式
  • 原文地址:https://www.cnblogs.com/ZhiXing-Blogs/p/5578765.html
Copyright © 2011-2022 走看看