أفضل طريقة لنسخ PNG إلى نسيج أكبر فارغ / الشفرة التي تم إنشاؤها؟ (برنامج OpenGL ES 1.1 / اي فون)

StackOverflow https://stackoverflow.com/questions/521483

  •  22-08-2019
  •  | 
  •  

سؤال

ولدي PNG 320x480 وضع الذي أود الخريطة لالملمس / التلاعب على اي فون ولكن هذه الأبعاد ومن الواضح أن لا قوة 2. اختبرت بالفعل بلدي الملمس خريطة التلاعب الخوارزمية على PNG 512x512 التي هي خلفية سوداء مع 320x480 وضع صورة فرضه على ذلك، تركزت في الأصل (الزاوية السفلى اليسرى (0،0)) حيث منطقة 320x480 وضع موجه بشكل صحيح / تركزت / تحجيم على الشاشة فون.

ما أود القيام به الآن هو التقدم إلى النقطة التي يمكن أن تتخذ 320x480 وضع مصدر الصور وتطبيقها على خلفية بيضاء / سوداء 512x512 الملمس ولدت في التعليمات البرمجية بحيث اثنين من شأنها أن تجمع بين كما نسيج واحد لدرجة أنني يمكن أن تنطبق القمم والإحداثيات الملمس اعتدت في بلدي اختبار 512x512. وسوف تستخدم هذه في نهاية المطاف للصور مصدرها الكاميرا القبض والكاميرا لفة، الخ.

وأي أفكار؟ (يجب أن يكون برنامج OpenGL ES 1.1 لمن دون استخدام GL UTIL أدوات، الخ.).

وشكرا، آري

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

المحلول

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

// CGImageRef for background image
// CGImageRef for foreground image

// CGSize for current context

// Define CGContextRef for current context

// UIGraphicsBeginImageContext using CGSize

// Get value for current context with UIGraphicsGetCurrentContext()

// Define 2 rectangles, one for the background and one for the foreground images

// CGContextDrawImage(currentContext, backgroundRect, backgroundImage);
// CGContextDrawImage(currentContext, foregroundRect, foregroundImage);

// UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext();

// spriteImage = finalImage.CGImage();

// UIGraphicsEndImageContext();

وعند هذه النقطة يمكن أن تنتقل إلى استخدام spriteImage كمصدر صورة للنسيج، وسوف يكون مزيجا من فارغة 512x512 PNG مع PNG 320x480 وضع على سبيل المثال.

وسوف تحل محل PNG فارغة 512x512 مع صورة ولدت في التعليمات البرمجية ولكن هذا لا يعمل.

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