unity——合并两张图片

要对两张图片进行叠加,只需要将背景图片中对应的像素颜色,替换成另一张图片的像素颜色就行了

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());
}  

你可能感兴趣的:(unity工作杂记)