1

CGImageCreateWithImageInRectに関するドキュメントは次のとおりです。

パラメータとして CGRect オブジェクトを取ります。私が理解していることから、CGRectはポイント単位です

ただし、ドキュメントには次のように記載されています。

「結果の長方形内のピクセルを参照し、長方形内の最初のピクセルをサブイメージの原点として扱います。」

これは不正確に思われ、UIImage のサイズを変更する必要があるときに証明されました。画像のサイズに画面のスケールを掛ける必要がありました。そうしないと、画像のサイズが間違っていました

var imageRef:CGImageRef = CGImageCreateWithImageInRect(image.CGImage, CGRectMake(0, 0, image.size.width*UIScreen.mainScreen().scale, image.size.height*UIScreen.mainScreen().scale))

縮尺を掛けないと、画像が小さすぎます。

これは悪いドキュメントです (ポイント単位の CGRect を取り、ピクセルとして読み取るべきではありません)、またはここで基本的なことを理解していませんか?

4

2 に答える 2