質問

画像上に小さな画像の束が付いた画像(本質的にスプライトを含む画像ストリップ)を含むUIImageがあります。 UIViewの領域に単一のスプライトを描画したいです。

UIImageの一部のみをビューに描画する方法が見つからないようです。これを行う方法はありますか?

役に立ちましたか?

解決

CGImageCreateWithImageInRect()同じ名前のプロパティ

EDIT:2009年にはなかった2014年に存在する別のオプションは、 SpriteKit 。スプライトシートを必要とするあなたがしていることにもよりますが、それは役に立つかもしれません。

他のヒント

スプライトシートを処理するための UIImage カテゴリを作成しました。これを確認してください。 http:// reecon.wordpress.com/2011/11/19/uiimage-sprite-additions-objective-c/

前述のように、このカテゴリは CGImageCreateWithImageInRect()に基づいていますが、単一のスプライトシートからスプライトを抽出するプロセスをより便利およびより高速

gitハブページへのリンク: https://github.com/r3econ/UIImage-Sprite-Additions

ココアポッドを使用してインストールすることもできます。

はい、Quartzでできます。

UIImageを取得してその一部をマスクする方法を示すチュートリアルがここにあります。

http://iosdevelopertips.com/cocoa/how-to -mask-an-image.html

そのページのコードは次のとおりです(何らかの理由でダウンした場合)

- (UIImage*) maskImage:(UIImage *)image withMask:(UIImage *)maskImage {

    CGImageRef maskRef = maskImage.CGImage; 

    CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
        CGImageGetHeight(maskRef),
        CGImageGetBitsPerComponent(maskRef),
        CGImageGetBitsPerPixel(maskRef),
        CGImageGetBytesPerRow(maskRef),
        CGImageGetDataProvider(maskRef), NULL, false);

    CGImageRef masked = CGImageCreateWithMask([image CGImage], mask);
    return [UIImage imageWithCGImage:masked];

}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top