also, orthogonally, I don't think this will work if the UIImage is 2x (retina). image.size.width is in points, not pixels. we'd need to multiply by image.scale, right? but I guess this applies to the entire function and not just this diff