将UILabel转换为UIImage时的大小差异

时间:2012-09-01 20:35:53

标签: iphone ios ipad core-graphics uilabel

我正在向UIImage画一个UILabel UILabel的宽度为193.5,而下面代码生成的UIImage为194宽。
为什么会这样?

UIGraphicsBeginImageContextWithOptions(label.bounds.size, YES, [[UIScreen mainScreen] scale]);
[label.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

2 个答案:

答案 0 :(得分:0)

你怎么设法在UILabel的宽度上获得半个像素?它可能会看到并自动将其四舍五入为194。

答案 1 :(得分:0)

考虑一下 - 没有办法真正渲染半个像素。我猜你可以在技术上将一个像素与另一个像素混合,但你仍然需要一个完整的像素。所以它必须围捕。我认为任何UI元素坐标都有一个非整数值是错误的 - 你最终会看到模糊的UI。因此,试着弄清楚如何解决半像素问题。