Tocropviewcontroller: إظهار منطقة الدائرة ولكن الاقتصاص باستخدام المستطيل؟

تم إنشاؤها على ١٥ سبتمبر ٢٠١٧  ·  5تعليقات  ·  مصدر: TimOliver/TOCropViewController

أهلا بكم!

أرغب في معرفة ما إذا كان من الممكن إظهار منطقة الاقتصاص الدائرية للمستخدمين ولكن بدلاً من اقتصاص الصورة بدائرة ، ما عليك سوى اقتصاصها باستخدام المستطيل الأدنى الذي يحتوي على تلك الدائرة ، فهل هذا منطقي؟

شكرا!

question rfc

التعليق الأكثر فائدة

دوه! لم أكن أعلم أن:

- (void)cropViewController:(TOCropViewController *)cropViewController didCropToImage:(UIImage *)image withRect:(CGRect)cropRect angle:(NSInteger)angle

تم استدعاء المندوب حتى لو قمت بتعيين منطقة الاقتصاص على دائرية :)

شكرا جزيلا تيم! هتافات!

أجوس.

ال 5 كومينتر

مرحبا @ agusguerra10!

إذا كنت تريد فقط قيمة CGRect من صورة ، حتى في الوضع الدائري ، فأنت تحتاج فقط إلى تنفيذ طريقة التفويض - (void)cropViewController:(TOCropViewController *)cropViewController didCropImageToRect:(CGRect)cropRect angle:(NSInteger)angle . :)

يمكنك أيضًا تنفيذ - (void)cropViewController:(TOCropViewController *)cropViewController didCropToImage:(UIImage *)image withRect:(CGRect)cropRect angle:(NSInteger)angle إذا كنت تريد نسخة مربعة من تلك الصورة.

أتمنى أن يكون هذا قد ساعد! اسمحوا لي أن أعرف إذا كنت تبحث عن شيء آخر!

دوه! لم أكن أعلم أن:

- (void)cropViewController:(TOCropViewController *)cropViewController didCropToImage:(UIImage *)image withRect:(CGRect)cropRect angle:(NSInteger)angle

تم استدعاء المندوب حتى لو قمت بتعيين منطقة الاقتصاص على دائرية :)

شكرا جزيلا تيم! هتافات!

أجوس.

حقا؟
أنا أبحث عن إجابة لهذا السؤال.
لقد قمت بتعيين نمط دائري.
ولكن لا تستدعي وظيفة المندوب
func CropViewController (_ cropViewController: TOCropViewController، didCropToImage image: UIImage، RectropRect: CGRect، angle: Int)

لقد حللت المشكلة

  • (باطل) CropViewController: (TOCropViewController *) CropViewController didCropImageToRect: (CGRect) cropRect angle: (NSInteger) زاوية

سيتم استدعاء طريقة التفويض هذه حتى إذا تم تعيين منطقة الاقتصاص على دائرية.
في المندوب ، أستخدم - (صورة UIImage غير كاملة *) اقتصاص صورة مع إطار: (CGRect) زاوية الإطار: (NSInteger) زاوية دائرية: (BOOL) دائرية ؛
لاقتصاصها للحصول على الصورة المستقيمة. ولكن تحتاج إلى تعيين مقطع دائري إلى false.

اريد ان اسال تيم هل هذا صحيح؟
ما قاله agusguerra10 لا يسمى في مشروعي. xcode9 سويفت 4.

  • (باطل) CropViewController: (TOCropViewController *) CropViewController didCropToImage: (UIImage *) image withRect: (CGRect) cropRect angle: (NSInteger) زاوية
    اختبرت رمز المثال أيضًا. لن يتم استدعاؤه أيضًا إذا قمت بتعيين النمط الدائري

لا تقلق @ agusguerra10! نعم ، في وقت لاحق ، لم يكن منطقًا يستند إلى نمط رائع يعتمد عليه أساليب المفوض التي طبقها المفوض ؛ لقد تسبب في القليل من الارتباك. 😅

@ agusguerra10 لقد قمت للتو بفحص الكود الخاص بمعالجة عمليات رد نداء المندوبين . هذا صحيح. إذا قمت بتنفيذ أي من أساليب المفوض الدائري في الوضع الدائري ، فسيتم تجاهل الطريقة التي تُرجع صورة مربعة.

إذا كنت تعتقد أنه يجب تغيير هذا ، فقد يكون من الأفضل تتبعه في مشكلة جديدة. شكرا! :)

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات