网站服务器怎么做的,英文网站建设方案 PPT,编程软件免费中文版,做网站那个好在实际应用开发中#xff0c;有时候需要通过代码对Texture进行缩放。
有两个方法#xff0c;一个是通过控制宽高进行缩放#xff0c;另一个是通过比例值进行等比例缩放。
1、控制宽高的方法#xff1a;
/// summary/// 纹理缩放方法一#xff0c;指定宽高/// 有时候需要通过代码对Texture进行缩放。
有两个方法一个是通过控制宽高进行缩放另一个是通过比例值进行等比例缩放。
1、控制宽高的方法
/// summary/// 纹理缩放方法一指定宽高/// /summary/// param nametex缩放原始纹理/param/// param namescaledWidth缩放后的宽度/param/// param namescaledHeight缩放后的纹理/param/// returns/returnsTexture2D ScaleTexture(Texture2D tex,int scaledWidth,int scaledHeight){// 创建缩放后的纹理tex new Texture2D(scaledWidth, scaledHeight);// 将原始纹理的像素数据拷贝到缩放后的纹理RenderTexture renderTexture RenderTexture.GetTemporary(scaledWidth, scaledHeight);RenderTexture.active renderTexture;Graphics.Blit(sourceTexture, renderTexture);// 从RenderTexture中读取像素数据并应用到缩放后的纹理tex.ReadPixels(new Rect(0, 0, scaledWidth, scaledHeight), 0, 0);tex.Apply();// 释放临时的RenderTextureRenderTexture.active null;RenderTexture.ReleaseTemporary(renderTexture);return tex;}
2、通过比例值进行等比例缩放 /// summary/// 纹理缩放方法二等比例/// /summary/// param nametex原始纹理/param/// param nameratio比例/param/// returns/returnspublic Texture2D ScaleTexture(Texture2D tex, float ratio){if (tex null)return null;if (ratio 0)return tex;Color color;int scaledWidth (int)(tex.width * ratio);int scaledHeight (int)(tex.height * ratio);Texture2D newTex new Texture2D(scaledWidth, scaledHeight, TextureFormat.RGB24, false);float newWidthGap scaledWidth * ratio;float newHieghtGap scaledHeight * ratio;for (int i 0; i newTex.height; i){for (int j 0; j newTex.width; j){color tex.GetPixel((int)(j * (1 / ratio)), (int)(i * (1 / ratio)));newTex.SetPixel(j, i, color);}}return newTex;}