「Unity/UIImage/Texture」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「==Textureコピー== <pre> var tmpTexture = Copy((Texture2D)texture); tmpTexture.Apply(); </pre> コピーロジック <pre> public Texture2D Copy(Texture2D source) {...」) |
|||
行1: | 行1: | ||
==Textureコピー== | ==Textureコピー== | ||
<pre> | <pre> | ||
− | var tmpTexture = | + | var tmpTexture = CopyTexture((Texture2D)texture); |
tmpTexture.Apply(); | tmpTexture.Apply(); | ||
</pre> | </pre> | ||
コピーロジック | コピーロジック | ||
<pre> | <pre> | ||
− | public Texture2D | + | public Texture2D CopyTexture(Texture2D source) |
{ | { | ||
var texture = new Texture2D(source.width, source.height, TextureFormat.RGBA32, false); | var texture = new Texture2D(source.width, source.height, TextureFormat.RGBA32, false); |
2023年3月8日 (水) 04:40時点における版
Textureコピー
var tmpTexture = CopyTexture((Texture2D)texture); tmpTexture.Apply();
コピーロジック
public Texture2D CopyTexture(Texture2D source) { var texture = new Texture2D(source.width, source.height, TextureFormat.RGBA32, false); var renderTexture = new RenderTexture(texture.width, texture.height, 32); Graphics.Blit(source, renderTexture); RenderTexture.active = renderTexture; texture.ReadPixels(new Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0); RenderTexture.active = null; RenderTexture.DestroyImmediate(renderTexture); return texture; }