سؤال

لدي UIImage تحتوي على صورة مع مجموعة كاملة من أصغر الصور على صورة (أساسا صورة غزة التي تحتوي على العفاريت).أود أن ألفت واحد العفريت على مساحة من UIView.

أنا لا يمكن أن يبدو للعثور على طريقة رسم جزء فقط من UIImage على رأي.هل هناك طريقة أن يفعل هذا ؟

هل كانت مفيدة؟

المحلول

وأعتقد أنك قد تكون تبحث عن <لأ href = "http://developer.apple.com/iphone/library/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_images/dq_images.html#//apple_ref/doc/uid / TP30001066-CH212-SW1 "يختلط =" نوفولو noreferrer "> CGImageCreateWithImageInRect () . يمكنك الحصول على CGImage من UIImage مع في ممتلكات نفس اسم .

وتحرير: خيار آخر موجود في عام 2014، أن لم يكن في عام 2009، هو <وأ href = "https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Introduction/Introduction. أتش تي أم أل "يختلط =" نوفولو noreferrer "> SpriteKit . اعتمادا على ما يمكن أن تقوم به الذي يحتاج إلى ورقة العفريت، التي قد تكون مفيدة.

نصائح أخرى

كتبت UIImage الفئة للتعامل مع العفريت ورقة.التحقق من ذلك ، قد يكون من المفيد http://reecon.wordpress.com/2011/11/19/uiimage-sprite-additions-objective-c/

كما لوحظ في وقت سابق ، هذه الفئة قواعد على CGImageCreateWithImageInRect() ولكن يجعل عملية استخراج العفاريت من واحد العفريت ورقة الآن أكثر ملاءمة و أسرع.

رابط بوابة المحور الصفحة:https://github.com/r3econ/UIImage-Sprite-Additions

يمكنك أيضا تثبيت باستخدام الكاكاو القرون.

نعم، أنت متأكد يمكن مع الكوارتز.

وهناك التعليمي هنا أن يظهر لك كيفية اتخاذ UIImage وقناع جزءا منه.

http://iosdevelopertips.com/cocoa/how-to -mask-على-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