سؤال

لدي هذا الرمز:

CGDataProviderRef provider = CGDataProviderCreateWithFilename([myFile UTF8String]);
CGImageRef img = CGImageCreateWithJPEGDataProvider(provider, NULL, true, kCGRenderingIntentDefault);

في وقت لاحق أقوم بتحميل هذا cgimageref في uiimage بهذه الطريقة:

UIImage *uiImage = [[UIImage alloc] initWithCGImage:destImage];

أود رسم دائرة على تلك الصورة. النقطة هي تحركات الدائرة بحيث يجب حذفها وإعادة رسمها. أعتقد أن أفضل طريقة لإنجاز هذا هو مع طبقات ، لذا فإن سؤالي هو: كيف يمكنني إضافة طبقة إلى هذا الرمز ورسم دائرة عليها؟ كيف يمكنني إعادة ضبط الطبقة وإعادة رسم تلك الدائرة؟

شكرًا لك!

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

المحلول

ستحتاج إلى استخدام UiimageView ، ثم إضافة طبقة منفصلة إلى هذا العرض. إذا تحركت طبقتك [Circle] ، فما عليك سوى تعيين خاصية الموضع على المركز الجديد ؛ سيهتم نظام العرض بإعادة شاملة كل شيء.

للحصول على دائرتك لتظهر في الطبقة ، يمكنك إما استخدام صورة ثابتة ، وكالايير ، والفئة الفرعية ، وتجاوز DrawIncontext: ، أو تعيين المندوب وتنفيذ Drawlayer: Distext:.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top