CGContextImageDraw で画像がぼける

iPhone 3G や、iPadなど古い端末ではRetina Displayでない解像度が低い端末では、CGCOntextImgeDrawで画像がぼけて見えることがある。

これは、指定するCGRectのx,y座標に小数点以下の値が含まれることが原因の場合がある。
つまり、1px以下の中途半端な座標をサブピクセルレンダリングでごまかしている。

これはこれですばらしい機能なのだが、それだと困る場合があるので、rectの内部を四捨五入しれやればいい。
つまり

CGRect r2 = CGRectMake(roundf(r.origin.x), roundf(r.origin.y), r.size.width, r.size.height);