2012-02-20 36 views
16

Tôi đang sử dụng UIImagePickerController để chụp và chỉnh sửa ảnh. nó hoạt động tốt trong cảnh quan, nhưng trong bức chân dung nó sẽ cắt hình ảnh vào một hình vuông (không cho phép để giảm hình ảnh để phù hợp với đầy đủ vào các lĩnh vực cắt theo hình vuông như trong cảnh quan Bất cứ ý tưởngUIImagePickerController - ảnh cây trồng thành hình vuông (theo chiều dọc)

mã:.?

-(IBAction)initCamera:(id)sender{ 

//Init imagePicker instance 
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; 
[imagePicker setDelegate:self]; 

[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera]; 
[imagePicker setShowsCameraControls:YES]; 
[imagePicker setAllowsEditing:YES]; 

[self presentModalViewController:imagePicker animated:YES]; 
[imagePicker release]; 
} 

Trả lời

4

Bạn có thể cung cấp một giao diện người dùng tùy chỉnh cắt xén, nhưng không có cách nào để thay đổi chỉ là hình chữ nhật cắt xén của một tiêu chuẩn.

This liên kết có thể giúp đỡ với điều đó.

+1

Cảm ơn. Tôi chỉ tự hỏi tại sao việc cắt xén hoạt động tốt cho cảnh quan (tôi có thể vừa với toàn bộ hình ảnh vào hình vuông cắt xén, vì vậy không có gì bị mất), nhưng không cho ảnh chân dung, nơi nó không cho phép vừa với hình ảnh vào hình vuông. – cabhara

+0

@cabhara và tại sao các công trình của nó ok? – George

11

Check-out GKImagePicker thư viện, nó cho phép đặt khu vực cắt hình ảnh tùy chỉnh của bạn, như sau:

self.imagePicker = [[GKImagePicker alloc] init]; 
self.imagePicker.cropSize = CGSizeMake(320, 90); 
self.imagePicker.delegate = self; 

[self presentModalViewController:self.imagePicker.imagePickerController animated:YES]; 
+0

nó không cho phép đặt máy ảnh thành kiểu nguồn. Nó chỉ hoạt động với thư viện! – George

+0

@George cho phép sử dụng hình ảnh từ cả thư viện và máy ảnh. –

+0

Tôi đã cập nhật câu trả lời để bao gồm một dòng mẫu để thiết lập sourceType –

8

Tôi biết thực sự muộn để trả lời câu hỏi này, nhưng ai đó có thể thấy điều này hữu ích.

Thay đổi

[imagePicker setAllowsEditing:YES]; 

Để

[imagePicker setAllowsEditing:NO]; 

Cảm ơn, Jay

+0

Điều này chỉ đơn giản là vô hiệu hóa cắt xén. Hãy tưởng tượng một trường hợp sử dụng khi ai đó muốn tải lên một bức chân dung có kích thước đầy đủ, nhưng vẫn muốn cắt ra các phần của ảnh phong cảnh. – carbocation

+0

@carbocation yes có thể là một trường hợp. Nhưng đó là toàn bộ chức năng mới mà tôi đoán, bạn có thể quản lý bằng cách kiểm tra thuộc tính ** imageOrientation ** của hình ảnh trong 'didFinishPickingImage:' phương thức ủy nhiệm của 'UIImagePickerController' –

Các vấn đề liên quan