2013-07-19 39 views
9

Tôi đang đặt câu hỏi này chỉ để biết thông tin và xóa các khái niệm về hình ảnh trong ứng dụng iOS (Retinanon-retina thiết bị).Ứng dụng iOS không võng mạc và hình ảnh võng mạc khái niệm

Những gì tôi đang làm là

Khi tôi phát triển một ứng dụng iPhone và tôi phải thể hiện một hình ảnh cho phép nói trên UIButton sử dụng Interface builder Tôi lấy hai hình ảnh cho phép hình ảnh nút submit.png giả sử các kích thước sau

  1. 100x100 px (submit.png)
  2. 200x200 px ([email protected]) để hiển thị võng mạc

Và trong Interface builder Tôi sẽ đặt kích thước là UIButton 100x100 px và nó hoạt động hoàn hảo.

Câu hỏi:

Tại sao chúng ta không đặt hình ảnh chỉ đơn cho phép nói submit.png

  1. 200x200 px (submit.png)

Và thiết lập kích thước 100x100 UIButton px trong interface builder và cùng một hình ảnh sẽ được sử dụng trong cả hai thiết bị retinanon-retina.

Lý do thực tế của việc sử dụng hai hình ảnh thay vì một hình ảnh duy nhất có kích thước võng mạc là gì?

Một câu hỏi tương tự,

iPhone 5 chỉ có sẵn trong retina hiển thị nhưng chúng ta phải đặt Default hình ảnh của mình như [email protected]. Tại sao ở 2x?

+0

Bạn đã thử xóa hình ảnh bình thường và trực tiếp đưa hình ảnh võng mạc lên trình tạo giao diện. tức là chỉ định trực tiếp [email protected] trên UIButton thông qua trình tạo giao diện. Chúng tôi thường làm như vậy và nó hoạt động trong thiết bị bình thường như mong đợi như kích thước UIButton sẽ giống như tôi đoán –

+0

Có tôi thường làm tương tự như bạn đã đề cập nhưng tôi muốn biết lý do tại sao tài liệu của Apple nói sử dụng hai hình ảnh khác nhau và tôi vẫn không thể nhận được bất kỳ thông tin nguồn xác thực nào. –

Trả lời

4

Mục đích chính của việc sử dụng hình ảnh không phải võng mạc là nâng cao hiệu suất và chất lượng hình ảnh trên các thiết bị cũ hơn do các hoạt động quy mô giảm yêu cầu.

Vì vậy, đối với hiệu suất thiết bị cũ hơn, bạn nên sử dụng hình ảnh không phải võng mạc.

+0

Có giải pháp nào cho chúng tôi chỉ có thể sử dụng một hình ảnh cho phiên bản cũ hơn và mới hơn không. Tôi có nghĩa là chúng ta có thể làm điều đó với bất kỳ loại mã hoặc một cái gì đó ?? –

+0

Tôi nghĩ KHÔNG. vì chúng tôi cần hình ảnh không phải võng mạc cho các thiết bị cũ hơn. Và nếu chúng ta sử dụng hình ảnh võng mạc thì hiệu suất sẽ giảm. –

+0

Nó có nghĩa là chúng ta phải có hai loại hình ảnh một là không võng mạc, một là võng mạc nếu ứng dụng cần phải hỗ trợ trong thiết bị cũ. –

1

Lý do tại sao chúng tôi phải cung cấp 2 hình ảnh là do vẫn còn những người chạy các thiết bị đầu tiên không hỗ trợ màn hình võng mạc. Chúng thiếu số lượng điểm ảnh khi mọi người chạy võng mạc, vì vậy chúng tôi cung cấp số tiền bình thường. Điều với iPhone 5 yêu cầu @ 2x trong tệp hình ảnh là vì tên tệp @ 2x là quy ước chuẩn đối phó với hình ảnh hiển thị võng mạc.

Đó là lý do tại sao khi bạn hỏi tại sao chúng tôi không đặt hình ảnh 200x200 vào nút 100x100. Vâng, nếu bạn đang chạy một thiết bị võng mạc, hình ảnh trong nút đó sẽ trông giống như những gì bạn đã vẽ; Tuy nhiên, nếu bạn đang chạy một cái gì đó như một 3gs, mà không có võng mạc, sau đó hình ảnh của bạn trong nút đó sẽ rất có thể đi ra được khá khối ô vuông, hoặc mờ như các điểm ảnh không phù hợp với tỷ lệ của thiết bị.

Hy vọng giúp xóa mọi thứ!

9

Trong ios Khái niệm hình ảnh của mình cũng rõ ràng nếu bạn đọc doc này Custom Icon and Image Creation Guidelines

Ví dụ nếu bạn muốn tạo hình ảnh

100 x 100 px nên nó phải có 163 Nghị quyết ppisubmit.png NON-retina device

200 x 200 px vì vậy phải với 3 26 Nghị quyết ppi[email protected] Retina device

CHO iPad: -

400 x 300 px nên nó phải có 264 Nghị quyết ppi[email protected]~ipad.png Retina iPad device

200 x 150 px nên nó phải với 132 Độ phân giải ppisubmit~ipad.png Non-retina iPad device

Hãy Nhìn hình ảnh này: -

enter image description here

nguồn hình ảnh từ This

Chúng tôi khắc sâu @ 2x khi chúng ta muốn xác định phiên bản khác nhau của một hình ảnh cho iPad và iPhone. Việc bao gồm công cụ sửa đổi @ 2x cho hình ảnh có độ phân giải cao là mới và cho phép hệ thống biết rằng hình ảnh là biến thể độ phân giải cao của hình ảnh chuẩn.

Đó là thay đổi quan trọng cần thiết cho hệ điều hành để kích thước cửa sổ để lấp đầy màn hình iPhone 5.đã đăng writeup về điều này và các chỉnh sửa liên quan đến kích thước khác mà bạn có thể cần thực hiện.

Hy vọng đây là thông tin hữu ích cho độ phân giải hình ảnh và kích thước của hình ảnh.

+0

Bạn có thể vui lòng cho tôi biết nơi bạn có thông tin về các nghị quyết không? như 163 và 326 độ phân giải cho iPhone. Khi thiết kế thiết kế của tôi ở 72 DPI ở kích thước võng mạc và sau đó làm cho hình ảnh nhỏ hơn với cùng một DPI và chuyển đổi hình ảnh thành kích thước không võng mạc. –

+1

http://www.apple.com/iphone/specs.html hãy xem điều này có sản phẩm táo iphone5 ratine ** độ phân giải 1136-by-640 pixel ở 326 ppi ** vì vậy không phải ratine conraint nó một nửa 163 –

+0

những gì có nghĩa là? chúng ta nên thiết kế ứng dụng ở kích thước 320x480 px với 326DPI cho võng mạc và kích thước 320x480 px với 163 DPI cho thiết bị bình thường? hoặc chúng ta nên thiết kế kích thước 320x480 px trong 72 DPI cho kích thước bình thường và 640x960 px trong 72 DPI cho võng mạc? –

-1

1- Nếu bạn muốn hỗ trợ ứng dụng của bạn cả thiết bị võng mạc và không võng mạc, bạn cần tuân thủ các tiêu chuẩn tên tệp. Nếu bạn chỉ muốn hỗ trợ các thiết bị võng mạc thì không cần phải thêm hình ảnh mặc định (button.png). Nếu bạn muốn hỗ trợ cả thiết bị võng mạc và võng mạc không cần thêm cả hình ảnh cũng như trong trình tạo giao diện, không cần thêm tên đầy đủ như @ 2x. Bạn chỉ cần thêm tên của hình ảnh. Cơ bản chính là tên của cả hai hình ảnh phải giống nhau. Ex: Non retina-->Button.png, Retina-->[email protected], IE-->Button

2 - iPhone5 chỉ có màn hình hiển thị võng mạc. Vì vậy, nếu bạn thêm hình ảnh mặc định cho iPhone5 nó sẽ tự động chạy trong thiết bị iPhone5. Apple đang tuân thủ các tiêu chuẩn. Vì vậy, chúng ta cần phải làm theo.

Lưu ý: Xcode sẽ tự động xử lý tất cả các loại hình ảnh này.

1

Có, bạn chỉ có thể sử dụng hình ảnh võng mạc cho cả thiết bị võng mạc và võng mạc. Nếu bạn sử dụng chúng trong imageviews, các nút, v.v., hãy đặt chúng scaletofill/aspectfill/aspectfit hoặc bất kỳ thứ gì bạn muốn.

Nhưng vấn đề với điều này là các hình ảnh có kích thước lớn hơn không cần thiết sẽ được tải trong bộ nhớ và việc thay đổi kích thước hình ảnh cũng sẽ cần xử lý.

Sử dụng hình ảnh riêng biệt làm tăng kích thước Gói ứng dụng nhưng giảm mức sử dụng ram thực tế của ứng dụng khi chạy.

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