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 :)
Posted on มีนาคม 17, 2011, in [Dev] iOS, [Link] iOS and tagged CGImageCreateWithImageInRect, CGImageRef, CGRect, CGRectMake, crop image, initWithCGImage, iphone, UIImage, UIImage crop. Bookmark the permalink. ใส่ความเห็น.
ใส่ความเห็น
Comments 0