截取屏幕的一块区域并且声称图片
Posted qinshuaijun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了截取屏幕的一块区域并且声称图片相关的知识,希望对你有一定的参考价值。
在游戏开发过程中,我们经常遇到让我们分享截图的功能,这个时候首先要接入对应分享平台的SDK,然后在把截取的区域按照SDK相应的格式发送过去,达到相应的目的,接下来直接上代码,
// Call after WaitForEndOfFrame. private IEnumerator ShareToSocialNetworkShareOnly_Internal(RectTransform shareArea) yield return new WaitForEndOfFrame(); var reqInfo = new MSDKFriendReqInfo(); reqInfo.Type = (int)FriendReqType.Friend_REQ_IMG; reqInfo.ImagePath = ProcessShareTexture(shareArea); //reqInfo.ThumbPath = appSmallIconPath; MSDKFriend.Share(reqInfo); private string ProcessShareTexture(RectTransform shareArea) // Delete old image path. string shareImgPath = Path.Combine(Application.temporaryCachePath, "ShareImage.png"); FileUtility.DeleteFileIfExist(shareImgPath); // Get the share screen size we need. Rect shareScreenRect = GetShareScreenSize(Camera.main, UIWindowManager.Instance.m_UICamera, shareArea); // Read screen pixels into share texture. Texture2D shareTexture = AcquireShareTexture((int)shareScreenRect.width, (int)shareScreenRect.height); shareTexture.ReadPixels(shareScreenRect, 0, 0, false); shareTexture.Apply(); // Save share texture data. byte[] imageData = shareTexture.EncodeToPNG(); File.WriteAllBytes(shareImgPath, imageData); Debug.Log("Save share image to: " + shareImgPath); return shareImgPath;
先截图,然后把相应的截图在unity运行时保存在临时缓存区域,可以在运行游戏时预览效果
以上是关于截取屏幕的一块区域并且声称图片的主要内容,如果未能解决你的问题,请参考以下文章