سؤال

وأنا أحاول أن حفظ استدارة وتوسيع نطاقها UIImageView باعتبارها UIImage في موقف ومع مقياس الزوم أن المستخدم تحريرها أيضا. ولكن يمكنني أن إدارة فقط لحفظ الصورة الأصلية كما كان قبل التحرير. كيف يمكنني حفظ الصورة كما هو مبين في UIImageView مع نفس القياس ودوران؟ لقد قرأت أنني بحاجة إلى استخدام UIGraphicsGetCurrentContext () ولكن أحصل على نفس الصورة الأصلية المحفوظة (ولكن انقلبت) وليس بالتناوب واحد !! سوف الاقتراحات وتلميحات يكون مفيدا حقا. شكرا لكم مقدما. شركة

(UIImage *)getImage
{
CGSize size = CGSizeMake(250, 250);
UIGraphicsBeginImageContext(size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGMutablePathRef path = CGPathCreateMutable();

// Add circle to path
CGPathAddEllipseInRect(path, NULL, CGRectMake(0, 0, 250, 250));
CGContextAddPath(context, path);

// ****************** touchImageView is my UIImageView ****************//
CGContextDrawImage(context, CGRectMake(0, 0, 250, 250), [touchImageView image].CGImage);

UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();

// Clip to the circle and draw the logo
CGContextClip(context);
UIGraphicsEndImageContext();

return scaledImage;

و}

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

المحلول

وأنا لا أرى أي شيء في الرمز الذي نشر من شأنه أن تدوير الصورة. هل نسيت أن أضيف أن؟

ويبدو أنك على الطريق الصحيح. الآن يجب عليك استخدام تحويل الروتينية CGContextScaleCTM وCGContextRotateCTM لتعديل التحويل الخاصة بك مصفوفة بشكل مناسب ومن ثم (لتجنب التقليب)، استخدم -[UIImage drawAtPoint:] لرسم UIImage بدلا من استخدام CGContextDrawImage.

نصائح أخرى

وتطبق

والرأي التحويلات القائمة على إخراج السياق ليس سياق نفسها. أعتقد أن لديك على نطاق وتدوير إطار الصورة نفسها باستخدام في ربط النص وظائف محددة الرسم النواة.

و(قد أكون مخطئا. لا يمكنني أن أتذكر بالضبط كيف كيف فعلت هذا في past.Take هذا مع حبة الملح).

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