iPhone: Crop Image


Crop Image

การตัดบางส่วนของรูปต้นแบบออกมาใช้งานนั้นใช้กันมากในงานโปรแกรมกราฟฟิคต่างๆ เช่น เกม ครับ โอเค ในบทความนี้เราจะดูกันสิว่า การ crop รูปใน Object-c เขียนกันอย่างไร

ขั้นตอน

1. สร้าง UIImage จากชื่อภาพ (tImageName) ขึ้นมาเป็นรูปภาพต้นแบบ

UIImage *tmp = [UIImage imageNamed:[@"imageName.jpg"]];

2. กำหนด ขนาดที่จะทำการ crop ด้วย CGRectMake

//crop image
CGRect rectCrop = CGRectMake(0, 0,tmp.size.width, 80);

3. สร้าง CGImageRef ที่เป็นข้อมูลภาพที่เกิดจากการ crop แล้ว

CGImageRef imgRef = CGImageCreateWithImageInRect([tmp CGImage], rectCrop);

4. การสร้างรูป UIImage ด้วย CGImageRef ที่ถูก  crop เรียบร้อยแล้ว

UIImage *myImage = [tmp initWithCGImage:imgRef];

ภาพ myImage เป็น UIImage ที่ถูก crop ตามขนาดที่เราต้องการจากภาพ tmp เรียบร้อยแล้วก้อสามารถนำไปใช้งานได้เลย

ตัวอย่าง

ผมลองทำการนำภาพขนาด 320×120 px เข้าใส่ ViewCell ขนาดความสูง 80 px ปรากฎว่ารูปใน cell ตารางล้นออกมาเกิน cell อื่นหมดเลย (ภาพแรก) ดังนั้นผมจึงต้องทำการ crop รูปภาพก่อนจะเอาไปใช้งานนั้นเอง (ภาพที่สอง)

Reference

adaydesign :)

About adaydesign

นักพัฒนาแอพพลิเคชั่นบนโมบาย [iPhone Android] คนหนึ่งซึ่งอยากจะบันทึกเรื่องราวของเส้นทางนักพัฒนาโมบายแอพพลิเคชั่นเอาไว้ในบล็อคน้อยๆ แห่งนี้ เผื่อจะแบ่งบันและแลกเปลี่ยนความรู้ให้กับคนอื่นๆ ได้บ้าง :) Mobile Application Developer; Flash Mobile, iPhone/iPad, Android Mobile Phone/Tablet and Blackberry Playbook.

Posted on มีนาคม 17, 2011, in [Dev] iOS, [Link] iOS and tagged , , , , , , , , . Bookmark the permalink. ใส่ความเห็น.

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

%d bloggers like this: