টিউটোরিয়ালটি দুটি পরামিতি সহ এই পদ্ধতিটি ব্যবহার করে: image
এবং maskImage
, আপনি যখন পদ্ধতিটি কল করবেন তখন এগুলি আপনাকে সেট করতে হবে। পদ্ধতিটি একই শ্রেণিতে রয়েছে এবং ছবিগুলি আপনার বান্ডেলে রয়েছে তা ধরে নিয়ে উদাহরণ কলটি এর মতো দেখতে পারে could
দ্রষ্টব্য - আশ্চর্যজনকভাবে চিত্রগুলিও একই আকারের হতে পারে না।
...
UIImage *image = [UIImage imageNamed:@"dogs.png"];
UIImage *mask = [UIImage imageNamed:@"mask.png"];
UIImage *maskedImage = [self maskImage:image withMask:mask];
...
- (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 maskedImageRef = CGImageCreateWithMask([image CGImage], mask);
UIImage *maskedImage = [UIImage imageWithCGImage:maskedImageRef];
CGImageRelease(mask);
CGImageRelease(maskedImageRef);
return maskedImage;
}
আপনি আপনার কোড সরবরাহ করার পরে আমি এটিতে রেফারেন্সের জন্য মন্তব্য হিসাবে কিছু নম্বর যুক্ত করেছি। আপনার কাছে এখনও দুটি বিকল্প রয়েছে। এই পুরো জিনিসটি একটি পদ্ধতি, যা আপনি কোথাও কল করছেন। আপনার এর ভিতরে চিত্রগুলি তৈরি করার দরকার নেই: এটি পদ্ধতির পুনরায় ব্যবহারযোগ্যতা শূন্যে হ্রাস করে।
আপনার কোড কাজ করতে। পদ্ধতিসমূহ প্রধান ( 1. ) এ পরিবর্তন করুন
- (UIImage *)maskImageMyImages {
তারপর পরিবর্তনশীল নাম পরিবর্তন 2. করার
UIImage *maskImage = [UIImage imageNamed:@"mask.png"];
পদ্ধতিটি আপনার মুখোশযুক্ত চিত্রগুলি ফিরিয়ে দেবে তাই আপনাকে কোনও জায়গায় এই পদ্ধতিটি কল করতে হবে। আপনি আমাদের পদ্ধতিটি যেখানে কল করছেন সেখানে আমাদের কোডটি প্রদর্শন করতে পারেন?