在我的应用程序中,它允许用户将文本放置在图像之上,例如 snapchat,然后他们可以将图像保存到他们的设备上。我只是将 TextView 添加到图像之上,并使用代码为图像拍照:
UIGraphicsBeginImageContext(imageView.layer.bounds.size);
[imageView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage* savedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
但是,当我将图片上的文字与 snapchat 图片中的文字进行比较时……它有很大的不同。 Snapchat 在图像顶部的文字文本比我的要清晰得多。我的看起来很像素化。此外,我根本没有压缩图像,只是使用 ALAssetLibrary 原样保存图像。
谢谢
最佳答案
当您使用 UIGraphicsBeginImageContext
时,它默认为 1 倍比例(即非视网膜分辨率)。你可能想要:
UIGraphicsBeginImageContextWithOptions(imageView.layer.bounds.size, YES, 0);
它将使用与屏幕相同的比例(可能是 2 倍)。最后一个参数是生成图像的比例; 0 表示“无论屏幕是什么”。
关于ios - Objective-C snapchat 如何使图像/视频顶部的文本如此清晰而不是像素化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29856929/