0

あなたが私を助けてくれることを願っています。コードはRubymotionですが、iOSの問題だと確信しています。コードは単純なので、Rubymotion であることが答えの邪魔にならないことを願っています。そして、私は Obj-C を読むことができるので、Obj-C だけで答えていただければそれで結構です。

UIImage オブジェクトがあります。その大きさをつかもうとしている。私が次のことをするとき:

image = info.objectForKey(UIImagePickerControllerOriginalImage) 
@image = UIImage.alloc.initWithCIImage(image)
puts @image.to_s
puts @image.size
puts @image.to_s

私はこの出力を得ます:

#<UIImage:0x9513710>
NSInvalidArgumentException: -[UIImage extent]: unrecognized selector sent to instance 0x10fb7410 (RuntimeError)
#<UIImage:0x9513710>

範囲エラーが発生した場合、オブジェクトが解放されてメモリ内にないことを意味する傾向があることを読みましたが、.size 行をコメントアウトすると、3 行目がまだ実行され、解放されていないことを意味します。

何か案は?

4

2 に答える 2

6

どこかで、CIImage インスタンスではなく UIImage インスタンスを使用しています... CIImage には「エクステント」と呼ばれる機能があり (簡単なグーグルから)、UIImage にはありません。この「範囲」関数を使用している関数に画像を渡している可能性があります。

于 2013-03-14T16:56:07.107 に答える
0

この答えに私を導いてくれたデイブに感謝します。コードは次のように記述する必要があります。 @image.CIImage.size

これは機能します。

于 2013-03-14T17:08:32.023 に答える