iPhone: Get image path from UIImagePickerControllerSourceTypeCamera


Get image path from UIImagePickerControllerSourceTypeCamera

เกิดปัญหาขึ้นอีกแล้ว!!!! ในเมื่อเรากดถ่ายรูปจากกล้องได้แล้ว ที่นี้เราจะดึง Path รูปออกมาอย่างไร ผมลองวิธีการดึง NSURL ออกจากค่าของ info ที่เป็น NSDictionary ([info valueForKey:UIImagePickerControllerReferenceURL]) มันก้อดึงออกมาไม่ได้อยู่ดี เอ๋ทำไงดีน่า …. วิธีของมันคือเราต้องอาศัย ALAssetsLibrary ช่วยอีกแล้วครับ ลองมาดูกัน

ขั้นตอน

1. เขียนแรกกล้องถ่ายรูปขึ้นมาก่อน

2. วิธีเซฟรูปไปที่หน่วยความจำของ iPhone และ การดึงพาทรูปที่เซฟตะกี้ออกมา

2.1 ประกาศ type def ของ  ที่ .h

เพิ่มเติม

หากเราไม่มี <AssetsLibrary/AssetsLibrary.h> ให้ไปเพิ่ม existing framework นะครับ เลือกไปที่ AssetsLibrary.framework

2.2 เขียนฟังก์ชั่นเพิ่มเติมใน ฟังก์ชั่น imagePickerController didFinishPickingMediaWithInfo

เพิ่มเติม

1) UIImage *image = [info valueForKey:UIImagePickerControllerOriginalImage]; คือ ภาพที่เราดึงออกมาหลังจากถ่ายรูปเสร็จแล้ว

2) library writeImageToSavedPhotosAlbum: คือ ภาพที่เราจะนำเข้ามาเซฟใส่ iphone
orientation: คือ จะให้ภาพเป็นแนวตั้งหรือแนวนอน
completionBlock:  คือ เมื่อเสร็จฟังก์ชั่นนี้แล้วจะทำอะไรต่อในฟังก์ชั่นของ block นี้

3) เราจะดึง Path ของรูปออกมาได้จาก ALAssetsLibraryWriteImageCompletionBlock ค่าที่เราดึงมาคือค่าของ assetURL นั้นเอง

เท่านี้เราก็จะได้ Path ของรูปมาอยู่ที่ตัวแปร imageURL ที่เป็น String พร้อมนำไปใช้งานต่อแล้วครับ อาจจะยาวไปหน่อย ลองดูแบบเขียนย่อๆ ได้ที่ Reference นะ

อีกนิดนึง… เราสามารถเปลี่ยนหน้าไปหน้าอื่นได้หลังบรรทัด //success and to do… เลยนะครับ โดยใช้ค่า picker เป็นตัวเปลี่ยน View

บทความที่เกี่ยวข้อง

Reference

ความรู้เสริมเรื่องส่วนประกอบใน UIImagePickerController

adaydesign :)

About adaydesign

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

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

  1. ขอบคุณมากๆครับผม จะพยายามหัดศึกษาตามคับ

ใส่ความเห็น

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: