2012-01-28 19 views
35

Làm thế nào để "di chuyển và tỷ lệ màn hình" xác định kích thước cho cropbox của nó?Đặt kích thước cho UIImagePickerController "di chuyển và tỷ lệ" cropbox

Về cơ bản tôi muốn đặt chiều rộng cố định và chiều cao cho "CropRect" và cho phép người dùng di chuyển và chia tỷ lệ hình ảnh của mình để vừa với hộp đó như mong muốn.

Có ai biết cách thực hiện việc này không? (Hoặc nếu nó thậm chí có thể với UIImagePickerController)

Cảm ơn!

+0

Ai đó có thể có giải pháp tương tự cho nhanh không? –

Trả lời

33

Không thể thực hiện được với UIImagePickerController. Giải pháp tôi khuyên bạn nên tắt chỉnh sửa cho bộ chọn hình ảnh và tự xử lý nó. Ví dụ: tôi đặt hình ảnh ở chế độ xem hình ảnh có thể cuộn, có thể cuộn. Ở phía trên cùng của chế độ xem hình ảnh là một vị trí cố định "chế độ xem hướng dẫn cắt" thu hút chỉ báo cắt mà người dùng nhìn thấy. Giả sử xem hướng dẫn có các thuộc tính cho phần trực quan có thể nhìn thấy (phần giữ) và chiều rộng cạnh (phần cần hủy), bạn có thể nhận được hình chữ nhật cắt xén giống như vậy. Bạn có thể sử dụng danh mục UIImage+Resize để thực hiện cắt xén thực tế.

CGRect cropGuide = self.cropGuideView.visibleRect; 
UIEdgeInsets edges = self.cropGuideView.edgeWidths; 
CGPoint cropGuideOffset = self.cropScrollView.contentOffset; 

CGPoint origin = CGPointMake(cropGuideOffset.x + edges.left, cropGuideOffset.y + edges.top); 
CGSize size = cropGuide.size; 
CGRect crop = { origin, size }; 

crop.origin.x = crop.origin.x/self.cropScrollView.zoomScale; 
crop.origin.y = crop.origin.y/self.cropScrollView.zoomScale; 
crop.size.width = crop.size.width/self.cropScrollView.zoomScale; 
crop.size.height = crop.size.height/self.cropScrollView.zoomScale; 

photo = [photo croppedImage:crop]; 
+0

Câu trả lời hoàn hảo. Cảm ơn! –

+11

Bạn có thể vui lòng cung cấp dự án mẫu hoặc bất kỳ thứ gì khác được không. –

+0

@Marc. Làm thế nào u có thể hướng dẫn tôi làm thế nào để thực hiện bằng cách sử dụng swift –

24

Kinda muộn để các trò chơi nhưng tôi nghĩ rằng đây có thể là những gì bạn đang tìm kiếm: https://github.com/gekitz/GKImagePicker

+6

Vâng tôi ở đây trong tương lai đất chắc chắn đánh giá cao nó! – Pinwheeler

+1

Tôi yêu bạn, điều này vừa tiết kiệm cho tôi rất nhiều thời gian. – thedeveloper3124

+1

Làm thế nào để sử dụng nó cho Camera? – giuseppe

3

Đây là một giải pháp cho cắt xén bằng tay của Ming Yang. https://github.com/myang-git/iOS-Image-Crop-View

Nó cung cấp khung hình chữ nhật, người dùng có thể trượt hoặc kéo để vừa với phần hình ảnh yêu cầu trong hình chữ nhật. Xin lưu ý rằng giải pháp này làm ngược lại câu hỏi được yêu cầu - cho phép kích thước hình chữ nhật thay đổi, nhưng cuối cùng mang lại kết quả mong muốn.

Nó được mã hóa trong Mục tiêu-C. Bạn có thể phải mã hóa nó trong Swift hoặc đơn giản là xây dựng một tiêu đề bắc cầu để kết nối mã Objective-C với mã Swift.

+1

tốt hơn bất kỳ thư viện nào khác mà tôi tìm thấy. –

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