要对两张图片进行叠加,只需要将背景图片中对应的像素颜色,替换成另一张图片的像素颜色就行了
public void CaptureScreenShot()
{
StartCoroutine(CaptureCoroutine());
}
private IEnumerator CaptureCoroutine()
{
yield return new WaitForEndOfFrame();
//截取当前屏幕
Rect rect = new Rect(0, 0, Screen.width, Screen.height);
Texture2D texture = new Texture2D((int)rect.width, (int)rect.height, TextureFormat.RGB24, false);
texture.ReadPixels(rect, 0, 0);
texture.Apply();
//将另一张二维码图片的像素替换到截屏图片上(位置右上角)
Texture2D textureQrCode = Resources.Load<Texture2D>("Texture/qrcode");
for (int x = 0; x < textureQrCode.width; x++)
{
for (int y = 0; y < textureQrCode.height; y++)
{
texture.SetPixel(texture.width - x, texture.height - y, textureQrCode.GetPixel(x, y));
}
}
texture.Apply();
//保存图片到本地
File.WriteAllBytes(Application.streamingAssetsPath+"/Capture.png",texture.EncodeToPNG());
}
版权声明:本文为Wmayy_123原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。