ACGImageRef
には変更操作がないようです。a をコピーしても、 (実験によって決定された)CGImageRef
はコピーされません。CGDataProviderRef
が不変型の場合、 vs.CGImageRef
にする理由はありますか?copy
retain
2 に答える
2
CGImageRef には変更操作がないようです
変更するパブリック関数はありませんが、不変CGImage
というわけではありません。つまり、内部構造は文書化されていませんが、それを変更する方法はまだあります。CGImageRef
CGImageRef
CGImageRef imageRef = ...
struct CGImage image = *imageRef;
//if you know the internal structure, you can do things like
image.provider = ...
Core Graphics は画像の内部コピーを作成することが多いと思います。たとえば、CGImageCreateCopyWithColorSpace
おそらくCGImageCreateCopy
内部で使用します。描画中のコピーも可能です。
そしてもちろん、これは「サブクラス化」のための非常に優れた設計です (オブジェクトではなく構造体があるため、実際にはサブクラス化ではありません)。
于 2013-05-23T12:29:31.540 に答える
0
いいえ。場合によってはcopy
、必要CGImageRef
な場合がありUIImage
ます。retain
copy
于 2013-05-23T11:22:39.020 に答える