と の間に違いはCGImageGetWidth(workingImage.CGImage)
ありworkingImage.size.width
ますか? 最初のほうが速いですか、それとも安全ですか? 2 番目のケースでは値を直接取得することを知っています。
2 に答える
実際には、どちらも同じ結果を返します。CGImageGetWidth(Image.CGImage)
Bitmap イメージの幅をImage.size.width
返し、UIImage の幅を返します。あなたが安全/高速について尋ねると、最初のものはApplicationServicesフレームワークから来ており、2番目はUIKitフレームワークから来ているので速いと思います. これがあなたに役立つことを願っています..
が であると仮定するimage
と、幅はピクセル単位でUIImage *
返されますが、幅は画面座標で返されます。つまり、ピクセル幅を で割った値です。これは通常、現在のディスプレイの倍率 (ほとんどの Retina デバイスでは 2、iPhone 6 Plus では 3) です。ただし、画像の作成方法によっては、任意の値になる場合があります。CGImageGetWidth(image.CGImage)
image.size.width
image.scale
objc_msgSend()
パフォーマンスに関しては、どちらも 1つを含むため、どちらも同じであると思います。image.size
はサイズを取得するためのimage.CGImage
メソッド呼び出しであり、CGImageRef
. これらは保存されたプロパティであるため、いずれの場合でもフェッチするのに費用はかかりません。