0

UILabelをUIImageに描画しています。
UILabelの幅は193.5ですが、以下のコードから得られるUIImageの幅は194です。
どうしてこれなの?

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

2 に答える 2

0

UILabel の幅を 0.5 ピクセルにする方法を教えてください。おそらくそれを見て、自動的に 194 に切り上げたのでしょう。

于 2012-09-01T20:43:07.680 に答える
0

これを考慮してください - 半分のピクセルを実際にレンダリングする方法はありません。あるピクセルを別のピクセルと技術的にブレンドすることはできると思いますが、それでも完全なピクセルが必要です。したがって、丸める必要があります。UI要素の座標に整数以外の値を指定するのは間違いだと思います.ぼやけたUIになってしまいます. したがって、ハーフピクセルの問題を解決する方法を見つけてみてください。

于 2012-09-01T20:50:01.583 に答える