gpt4 book ai didi

ios - 如何获得高质量的 iOS 屏幕截图?

转载 作者:行者123 更新时间:2023-11-29 02:39:37 25 4
gpt4 key购买 nike

我一直在尝试以编程方式获取我的 Cocos2d 游戏的高质量屏幕截图,以便发布到社交网络上。质量一直很差,通常是模糊的。我决定手动截图并发布到 Facebook,质量也很模糊。屏幕上渲染的大部分图像都是 .png 格式和 spritesheets(使用 RGBA444 图像格式,.pvr.ccz 纹理格式,FloydSteinbergAlpha 抖动),大多数 Sprite 的分辨率也是 380 ppi。这些设置中的任何一个都可能导致模糊吗?另外,除了截图之外,我是否可以分享屏幕上呈现的图像?请看下面的代码:

-(UIImage*) screenshotWithStartNode:(CCNode*)startNode
{
[CCDirector sharedDirector].nextDeltaTimeZero = YES;

CGSize winSize = [CCDirector sharedDirector].winSize;
CCRenderTexture* rtx =
[CCRenderTexture renderTextureWithWidth:winSize.width
height:winSize.height];
[rtx begin];
[startNode visit];
[rtx end];

return [rtx getUIImage];
}

最佳答案

您正在以点而不是像素创建屏幕截图。在 Retina 设备上,这意味着 960x640 屏幕截图实际上是 480x320。这或许可以解释为什么您认为屏幕截图“模糊”,仅仅是因为它们已按比例缩小。

假设您使用的是 cocos2d v2.x,您应该使用以像素为单位的屏幕尺寸来捕获全像素分辨率的屏幕截图:

CGSize winSize = [CCDirector sharedDirector].winSizeInPixels;

我没有检查过,但假设 v3 有类似的方法来获取以像素而不是点为单位的 View /窗口的大小。

PS:Facebook 在特定条件下对图像应用自己的缩放比例(我相信会重新格式化为 JPG)。如果您想知道结果是否良好,请将屏幕截图保存在照片库中,或将其显示为 sprite 或通过电子邮件将其发送给您自己,以验证图像是否正常(如果还有任何图像质量下降)发布到 Facebook 后。

关于ios - 如何获得高质量的 iOS 屏幕截图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25950143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com