public Camera cam;
void Start()
{
StartCoroutine(CaptureAlphaCamera(cam,new Rect(0,0,1920,1080)));
} #region 截取透明图
/// <summary>
/// 3.对相机截图。
/// </summary>
IEnumerator CaptureAlphaCamera(Camera camera,Rect rect) {
yield return new WaitForEndOfFrame(); // 创建一个RenderTexture对象
RenderTexture rt = new RenderTexture((int)Screen.width,(int)Screen.height,0);
// 临时设置相关相机的targetTexture为rt, 并手动渲染相关相机
camera.targetTexture = rt;
camera.Render(); RenderTexture.active = rt;
Texture2D screenShot = new Texture2D((int)rect.width,(int)rect.height,TextureFormat.ARGB32,false);
screenShot.ReadPixels(rect,0,0);
screenShot.Apply(); // 重置相关参数,以使用camera继续在屏幕上显示
camera.targetTexture = null;
RenderTexture.active = null; // JC: added to avoid errors
GameObject.Destroy(rt); // 最后将这些纹理数据,成一个png图片文件
byte[] bytes = screenShot.EncodeToPNG();
string filename = Application.dataPath + "/Screenshot.png";
System.IO.File.WriteAllBytes(filename,bytes);
Debug.Log(string.Format("截屏了一张照片: {0}",filename)); //及时垃圾清理
System.GC.Collect();
//return screenShot;
}

最新文章

  1. 【原】聊聊js代码异常监控
  2. 如何实现能像windows 窗体一样改变大小的控件 Silverlight
  3. Java蛇形数组的简单实现代码
  4. javascript --- 再谈词法分析
  5. php--group_concat()函数总结
  6. sencha touch之模型(model)
  7. TX Textcontrol 使用总结六——常用属性设置
  8. MD5Encoder加密支持utf-8
  9. 《Linear Algebra and Its Applications》-chaper6-正交性和最小二乘法-基本概念与定理
  10. vuex构建笔记本应用学习
  11. thinkphp第二天
  12. kvm之三:本地安装虚拟机
  13. 在Hyper-V上安装RemixOS 的Android模拟器
  14. [Swift]LeetCode712. 两个字符串的最小ASCII删除和 | Minimum ASCII Delete Sum for Two Strings
  15. Html+css学习笔记二 标题
  16. 学习小片段——thymeleaf入门
  17. HDOJ5551 Huatuo&#39;s Medicine
  18. 实现定时器定时 1 秒钟,LED 亮灭显示
  19. Go 定长的数组
  20. CodeForces 4A

热门文章

  1. Android:DrawerLayout 抽屉布局没有反应
  2. Oracle存储过程的创建实例和调用实例
  3. pat乙级1016 部分A+B
  4. 记一次oracle单表改分区表 一波三折
  5. pycharm过期解决方案
  6. vue 一次显示多张图片的轮播图
  7. 页面导出为PDF
  8. mysql 5.7 gtid 主从复制
  9. Android图表控件MPAndroidChart——BarChart实现多列柱状图和LineChart多曲线 (完结)
  10. gitlab 搭建代理踩坑