Unity之将Texture保存成png

2023-05-16

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

public class SaveToPng : MonoBehaviour {

	public Shader outShader;
	public Texture inputTex;

	// Use this for initialization
	void Start () {
		SaveRenderTextureToPNG(inputTex,outShader,Application.dataPath+"/temp","ok.png");
	}

	public bool SaveRenderTextureToPNG(Texture inputTex,Shader outputShader, string contents, string pngName)
	{
		RenderTexture temp = RenderTexture.GetTemporary(inputTex.width, inputTex.height, 0, RenderTextureFormat.ARGB32);
		Material mat = new Material(outputShader);
		Graphics.Blit(inputTex, temp, mat);
		bool ret = SaveRenderTextureToPNG(temp, contents,pngName);
		RenderTexture.ReleaseTemporary(temp);
		return ret;

	} 

	//将RenderTexture保存成一张png图片
	public bool SaveRenderTextureToPNG(RenderTexture rt,string contents, string pngName)
	{
		RenderTexture prev = RenderTexture.active;
		RenderTexture.active = rt;
		Texture2D png = new Texture2D(rt.width, rt.height, TextureFormat.ARGB32, false);
		png.ReadPixels(new Rect(0, 0, rt.width, rt.height), 0, 0);
		byte[] bytes = png.EncodeToPNG();
		if (!Directory.Exists(contents))
			Directory.CreateDirectory(contents);
		FileStream file = File.Open(contents + "/" + pngName + ".png", FileMode.Create);
		BinaryWriter writer = new BinaryWriter(file);
		writer.Write(bytes);
		file.Close();
		Texture2D.DestroyImmediate(png);
		png = null;
		RenderTexture.active = prev;
		return true;

	} 
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity之将Texture保存成png 的相关文章

  • .png 图像在 IE7、IE8 中无法正确呈现

    它们在 FF Safari 中看起来很棒 但社交媒体图标在 IE 中无法正确呈现 http www erisdesigns net STAGE ED1 3 http www erisdesigns net STAGE ED1 3 这是 IE
  • 使用 JavaScript 创建 Base64 编码图像

    由于图像是数据 我们可以将代码编写为 img src alt Red dot 现在我的观点是 我们可以使用 javascript 创建 base64 数据吗 有什么框架吗 我的实际要求是我有一个像 Cow 这样的字符串 我希望它作为图像 注
  • 对于 iOS 上的所有图像文件,PNG 是否优于 JPEG?

    Xcode 优化了 png 图像 以便它们加载得更快 但是这是否也推荐用于其他不用于按钮和 UI 的图像资源 例如照片 或者 UI 图像为 png 且 照片 为 JPEG 是一个标准吗 这里的最佳实践是什么 最佳实践是在应用程序中使用图像时
  • 使用 C++、libpng 和 OpenMP 并行化 PNG 文件创建

    我目前正在尝试在 C 中实现一个基于 libpng 的 PNG 编码器 它使用 OpenMP 来加速压缩过程 该工具已经能够从各种图像格式生成 PNG 文件 我将完整的源代码上传到pastebin com 这样你就可以看到我到目前为止所做的
  • ggplot to png - 自动拉伸图像

    我正在生成一个ggplot plot并将其另存为 png图像 虽然 Rstudio 中生成的绘图根据 y 轴的值进行拉伸 但当我将其另存为时 我会得到一个正方形的图像 png 如何自动获得最佳拉伸图像 png form Function t
  • 在 Python 中使用自定义字体将 SVG 转换为 PNG

    我正在使用基于 Cairo RSVG 的解决方案将 SVG 光栅化为 PNG StackOverflow 上已经对它进行了描述在 Python 中将 SVG 转换为 PNG https stackoverflow com questions
  • 通过Windows中的命令行工具合并两个png?

    我正在寻找一个可以通过命令行 Windows 7 使用的工具来合并两个相同大小的 png 到目前为止 我在搜索方面运气不佳 因为我见过的大多数工具都是相当笨重的应用程序 它们似乎不针对简单的操作 我想用覆盖图像中的非透明像素覆盖不透明基本图
  • SplashScreen java 更改 alpha

    我正在循环遍历一些 png 来为 java 启动画面创建动画 我用这个开始动画 java splash images anim png SplashDemo 并在类中使用 png 您可以在这里找到该课程 http pastebin com
  • iOS PNG图像旋转90度

    在我正在编写的 iOS 应用程序中 我处理 PNG 因为我处理 Alpha 通道 由于某种原因 我可以将 PNG 加载到我的imageView很好 但是当需要将图像从我的应用程序复制到粘贴板上或将图像保存到我的相机胶卷时 图像会旋转 90
  • png8和png24有什么区别

    我想了解 png 文件的用途 有两种格式可供选择PNG 图像 一个是png8另一个是png24 我想知道如果我在我的html页面会出现错误吗 或者这只是质量问题 只有一种PNG格式 但支持5种颜色类型 http en wikipedia o
  • iPhone 中的 jpg 图像和 2x 图像

    我正在开发 iphone 应用程序并定位iOS 4 0或稍后 我正在尝试将图像添加到 UIImageView 并且图像位于jpeg格式 这就是我到目前为止所做的 UIImageView bgImageView UIImageView all
  • 将 PNG 图像中的透明度替换为白色背景

    我有一个带有 Alpha 通道 即透明度 的 PNG 图像 我需要创建将图像层合成到白色背景上的版本 我想使用可编写脚本的命令 使用 CLI 工具 例如 Image Magick 将 PNG 直接无损地转换为 PNG 导致错误的非工作 Im
  • 在 PyGTK 中,显示 PNG 文件的简单方法是什么?

    以下 PyGTK 代码在窗口中显示 PNG 文件 是否有更简单或更好的方式来显示 PNG 文件 例如使用 gtk DrawingArea 例如 如何调整文件大小 import gtk import pygtk pygtk require 2
  • 从 PNG 图像中提取元数据

    我正在尝试从 PNG 图像格式中提取元数据 我正在使用这个库 http code google com p metadata extractor http code google com p metadata extractor 尽管它声称
  • PNG:deflate 和 zlib

    我试图理解 PNG 的压缩 但我似乎 网上查了很多自相矛盾的资料 我想了解 LZ77部分 带链表的哈希表中的搜索是如何完成的 这是在 deflate 中定义的吗 或者在zlib中实现 可以选择搜索方法吗 PNG 编码器 解码器可以设置一些压
  • matplotlib 绘图,然后等待原始输入

    我正在尝试打开一系列 png 图 我希望能够在屏幕上查看绘图 然后收到提示 等待我 按 Enter 按回车键后 应显示下一个图 我见过很多类似的问题 Matplotlib 强制绘图显示然后返回主代码 https stackoverflow
  • 黑白 PNG 转 SVG

    我有一个河流 土地掩码来区分土地与河流 湖泊 该文件的大小为 W 43 200x H 21 600 由于 RAM 立即填满 因此无法打开该文件 我已将文件分成 3600 3600 块 它们可以正常打开 然而 我试图在谷歌地图中绘制陆地上的文
  • 图像/png 响应的原始响应

    我收到一个带有原始响应的响应主体 它应该代表一个 png 图像 我的问题是如何解码它并使其可渲染 PS 当我使用邮递员来测试这个时 我意识到邮递员可以渲染这个原始字符串 我想知道它是如何做到的 PNG IHDR X PPHYs o d ID
  • 在 Delphi 2007 中将具有透明度的位图保存为 PNG

    我有一个包含透明度信息的 Delphi 位图 32 位 我需要将其转换并保存为 PNG 文件 同时保留透明度 我目前拥有的工具是graphics32 Library GR32 PNG 由Christian Budde 提供 和PNGImag
  • C# MonoGame 有帮助吗? (Content.Load("入侵者");)

    我正在 MonoGame 中使用 Open GL 制作太空入侵者游戏 并且尝试加载已添加到内容文件夹中的纹理 这是一个名为 Invader 的 PNG 文件 我使用的代码是 invader Content Load

随机推荐