Tải bản đầy đủ (.pdf) (11 trang)

HƯỚNG dẫn xây DỰNG một máy ẢNH đơn GIẢN sử DỤNG UIIMAGEPICKERCONTROLLER

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (440.67 KB, 11 trang )

HƯỚNG DẪN XÂY DỰNG MỘT MÁY ẢNH ĐƠN GIẢN SỬ DỤNG
UIIMAGEPICKERCONTROLLER
Máy ảnh rất phổ biến, camera trên di động là một máy ảnh tuyệt vời, giúp bạn
lưu khoảnh khắc tuyệt vời bên bạn bè và người thân. vậy nó hoạt động cơ bản ra
sao?
Thiết kế đơn giản một máy ảnh như thế nào? sử dụng thư viện ảnh như thế
nào… là những câu hỏi rất phổ biến !!!. Ở hướng dẫn này tôi sẽ giúp các bạn xây
dựng một máy ảnh đơn giản bằng ngôn ngữ lập trình ios,đồng thời chọn ảnh ra
xem ở màn hình lớn hơn.
Mục tiêu:
1. Tạo ra máy ảnh đơn giản. view ảnh chúng ta chụp được.
2. Truy cập thư viện ảnh chung và View ảnh sang màn hình lớn hơn.


Bắt đầu nào :
khởi tạo project mới .


Thiết kế giao diện:


Kéo imageView để xem ảnh ở chế độ lớn hơn, kéo vào 2 button ,button1 đặt
tên chụp ảnh button2 đặt tên là chọn ảnh .khi click vào button chụp ảnh vào chế độ
camera chụp ảnh. Khi click vào chế độ Chọn ảnh vào thư viện ảnh nội bộ tìm ảnh
để view.


Tạo kết nối :
vào

newFile



chọn

cocoa

Touch

class

tạo

class

đặt

tên pickerImageViewController dùng để quản lý Viewcontroller chúng ta vừa tạo
ra.

kết nối class:


Tạo action để bắt sự kiện cho chọn ảnh và chụp ảnh:


Để trình chiếu ảnh tạo property cho imageView

Trong file :pickerImageViewController.h!
Sau khi kết nối ta được mã nguồn như sau:
1. @property (weak, nonatomic) IBOutlet UIImageView *imageView;
2. - (IBAction)chupAnh:(UIButton *)sender;

3. - (IBAction)chonAnh:(UIButton *)sender;
ok như thế là chúng ta đã thiết kế xong giao diện :
Xem thêm: Địa chỉ học lâp trình android ở đâu tốt
Mã nguồn:
Như chúng ta đã nói, chúng ta cần một đại biểu để đối phó với sự tương tác
người dùng với máy ảnh hoặc thư viện ảnh. Để làm được điều đó chúng ta phải
phù hợp với các giao thức UIImagePickerControllerDelegate.Ngoài ra, vì chúng tôi
sẽ trình bày các máy ảnh (hoặc thư viện ảnh) kiểu modally, chúng ta phải thực hiện
các giao thức UINavigationControllerDelegate. Thêm vào file.h.


1. @interface

pickerImageViewController

:

UIViewController,UINavigationControllerDelegate>

1. - (IBAction)chupAnh:(UIButton *)sender {
2. //tạo một đối tượng
3. UIImagePickerController *picker=[[UIImagePickerController alloc]
init];
4. //đăng ký delegate
5. picker.delegate=self;//nó lấy delegate khi ta đăng ký ban đầu.
6. //đăng ký chỉnh sửa sẽ gọi đến màn hình chỉnh sửa và gọi đến phương
thức didFinishPickingMediaWithInfo để lưu ảnh thay đổi .
7. picker.allowsEditing=YES;
8. //đăng ký truy cập ảnh từ camera

9. picker.sourceType=UIImagePickerControllerSourceTypeCamera;
10. //cho phép phủ picker lên view
11. [self presentViewController:picker animated:YES completion:nil];
12. }
Mã lệnh tôi đã commment bên trong ý nghĩa từng dòng.
Nguyên lý chạy:
– Tạo một đối tượng kiểu UIImagePickerController đăng ký delegate cho nó
,Đăng ký kiểu truy cập ảnh camera , đăng ký chỉnh sủa ảnh cho nó, khi phương
thức allowEditting =YES thì ra view chỉnh sửa


chỉnh

sủa

các

ảnh

,

các

ảnh

chỉnh

sửa

sẽ


lưu

trong dictionary info[UIImagePickerControllerEditedImage]. Và nó sẽ được gọi
đến phương thức:
1. //nút choose
2. -(void)imagePickerController:(UIImagePickerController

*)picker

didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{
3. UIImage *image=info[UIImagePickerControllerEditedImage];
4. self.imageView.image=image;
5. NSLog(@"ok");
6. [picker dismissViewControllerAnimated:YES completion:nil];
7. }
Cho phép ta chọn ảnh đã chỉnh sửa. Khi click vào nút choose tắt cửa sổ đang
chỉnh sửa [picker dismissViewControllerAnimated:YES completion:nil];
và set ảnh vào imageView.
khi đó sẽ đi đến
[self presentViewController:picker animated:YES completion:nil ] cho phép
phủ view lên.; Nếu ta không click vào choose click vào Cancel thi gọi đến
1. -(void)imagePickerControllerDidCancel:(UIImagePickerController
*)picker{
2. NSLog(@"ok1");
3. [picker dismissViewControllerAnimated:YES completion:nil];
4. }


để thoát trình lựa chọn ảnh.

Tương tự đối với lựa chọn ảnh trong thư viên chung chỉ đăng
ký picker.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
1. - (IBAction)chonAnh:(UIButton *)sender {
2. UIImagePickerController *picker=[[UIImagePickerController alloc]
init];
3. picker.delegate=self;
4. picker.allowsEditing=YES;//khi đăng ký chỉnh sửa gọi đến phương
thức didFinishPickingMediaWithInfo
5. picker.sourceType=UIImagePickerControllerSourceTypePhotoLibrar
y;
6. [self presentViewController:picker animated:YES completion:nil ];
7. }
Biên dịch và chạy thử rất tiếc camera trên simulator không có camera nên
không thể chụp ảnh.
Chúng ta chỉ có thể chọn ảnh.Các bạn có device Iphone chạy demo sẽ chụp
được ảnh .
kết quả biên dịch trên simulator :


full source code :
1. />zip



×