Unity 截屏

 //截屏
    public void CaptureScreen2(Camera c, Rect r)
    {
        //捕抓摄像机图像并转换成字符数组
        RenderTexture rt = new RenderTexture((int)r.width, (int)r.height, 0);

        //targetTexture目标纹理
        c.targetTexture = rt;
        //Render手动渲染相机
        c.Render();

        //active目前活跃的渲染纹理
        RenderTexture.active = rt;
        Texture2D screenShot = new Texture2D((int)r.width, (int)r.height, TextureFormat.RGB24, false);
        //读取像素
        screenShot.ReadPixels(r, 0, 0);
        screenShot.Apply();

        //摄像机目标渲染纹理
        c.targetTexture = null;
        RenderTexture.active = null;
        GameObject.Destroy(rt);

        //将此纹理编码为PNG格式。
        byte[] bytes = screenShot.EncodeToPNG();

        string filename = @"d:\photo-whzq\Screenshot.png";
        System.IO.File.WriteAllBytes(filename, bytes);
        PlayerPrefs.SetString(IMAGEFILE, filename); 

    }

  

原文地址:https://www.cnblogs.com/clhxxlcj/p/10972644.html

时间: 2024-08-29 19:41:54

Unity 截屏的相关文章

Unity截屏

方式一:直接使用unity自带的截图函数 1 Application.CaptureScreenshot(“imagename”); 保存路径: 在PC上保存路径为Application.dataPath(项目所在的路径) 在安卓或者Iphone平台上保存路径为Application.persistentDataPath(游戏里保存数据时放的一个持久数据目录) 优点:简单粗暴 缺点:PC.Mac上正常,但是在移动平台上会出现卡顿现象. 方式二:通过屏幕缓存转化为Png图片进行截图. IEnume

Unity图片处理类,包括压缩、截屏和滤镜

先上代码: 1 using System.Threading; 2 using UnityEngine; 3 using System.IO; 4 using System.Collections; 5 6 public class TextureUtility 7 { 8 public class ThreadData 9 { 10 public int start; 11 public int end; 12 public ThreadData (int s, int e) { 13 sta

VR中特定相机截屏问题与实现

本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/71136498 作者:cartzhang unity 中的截图与VR中的截图,难度还不一样么?还真有点不一样. 这里就是用HTC Vive头盔下来做为例子. 非常感谢同事让我来帮他解决问题. 一.Unity中的常用截图方式 unity中常用截图的方式有三种: 1. 使用CaptureScreenshot 这个可以参考官方给的例

Unity3D游戏开发之如何截屏的技能培训

下面我们开始今天的Unity3D技能培训. 我们学习Unity3D培训目标:让U3D初学者可以更快速的掌握U3D技术,自行制作修改素材,可以独立完成2D.3D小规模游戏及网页游戏开发. 今天我们来做点简单的东西,做个什么呢?答案就是截屏.作为一名热爱单机游戏的玩家,每次在玩游戏的同时截取游戏中比较喜欢的画面,特别是学习了Unity3D以后玩游戏的时候更多地是从一个游戏设计者的角度来看待游戏,换句话说,可能关注技术的成分更多一点吧.比如在写<Unity3D游戏开发之自由视角下的角色控制>和<

unity3d 3中截屏方法

每天一点知识点(Unity中三种截屏方法)热度 231388 2015-9-1 11:29 |个人分类:学习笔记| 知识点, 截屏 /// <summary> /// 截取全屏的方法包括UI /// </summary> public void CaptureScreen() { Application.CaptureScreenshot("截取全屏.png", 0); Debug.Log(1); } /// <summary> /// 自定义截图大

Android 7.1.1 系统截屏

frameworks/base/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java TakeScreenshotService.java package com.android.systemui.screenshot; import android.app.Service; import android.content.Intent; import android.os.Handler;

超好用的滚动屏幕截屏工具FastStone Capture

对于超级喜欢整理的技术控,一看到比较好技术文章就想收集下来,单纯的记录网页,又怕作者删除,我只能选择截图,可是有许多文章特别长,直到使用FastStone Capture截图工具,终于可以快速收集这些技术文章了. 1.截图工具是这样的 2.比较好用的滚动截屏使用方法: 图中第六个图标. 1)点击后,可以拖动窗口进行大范围的截图,比如可以将浏览器的网页做为截图对象,截取时,点击选取滚动条箭头就可以完成截图,ESC中断截图滚动! 2)在选定滚动截图图标后还可以按ctrl键进行滚动区域的选择. 3.图

Android自己定义截屏功能,相似QQ截屏

由于公司业务需求 须要对一个屏幕进行截屏.但自带的截屏功能是远远不够项目的功能需求 ,我们是做一个画板软件 .须要的像QQ那样截屏之后 ,能够看到我们自己定义的工具.有画笔,button等等 .android自带的功能非常easy,仅仅须要Intent隐式调用就全然足够了.但他是系统的应用 ,界面固定.无法定制改动.实现方法跟办法有非常多种,以下记录下我实现的方法 .我是这样一个思路 ,重写一个View组件 ,在OnDraw里面仅仅负责不绘图形(包含半透明的四个矩形,亮框矩形,亮框上的四个小圆点

Snipaste强大离线/在线截屏软件的下载、安装和使用

步骤一: https://zh.snipaste.com/  ,去此官网下载. 步骤二:由于此是个绿色软件,直接解压即可. 步骤三:使用,见官网.ttps://zh.snipaste.com  按F1开始截屏 感谢下面哥的精彩微信文章 http://mp.weixin.qq.com/s?__biz=MzIwNzYwODYwMw==&mid=2247483903&idx=1&sn=02121fe920320bbe7b2fae012a18e70a&chksm=970e8f8ba