- vừa được xem lúc

Tạo nhanh ảnh 1x, 2x, 3x và giải thích tại sao cần chúng trong Swift

0 0 295

Người đăng: Nguyễn Quang

Theo Viblo Asia

Đặt vấn đề

Khi bạn mở Asset Catalog trong Xcode, bạn chắc chắn sẽ nhìn thấy yêu cầu hình ảnh 1x, 2x, 3x. Điều đó có ý nghĩa gì? Các mẫu đời Iphone và Ipad có độ phân giải màn hình và kích thước màn hình khác nhau, thế UI được render ra có bị ảnh hướng gì không?

Ở bài viết này, các bạn sẽ được tìm hiểu :

  1. Sự khác biết giữa pointspixels
  2. Khi nào dùng tỉ lệ ảnh 1x, 2x, 3x
  3. Cách đặt tên với @2x, @3x
  4. Cách giữ chất lượng hình ảnh với các màn hình kích thước và độ phân giải khác nhau
  5. Recommended tools tạo nhanh ảnh 1x, 2x, 3x

Pixcels and Points

Các đời Iphone khác nhau sẽ có kích thước và độ phân giải màn hình khác nhau

So sánh Iphone 11 (6.1" - 828 x 1792) và IPhone 11 Pro Max (6.5" - 1242 x 2688). Chả cần có kiến thức gì thì nhìn bằng mắt, bạn có thể thấy màn hình Iphone 11 Pro max cho hình ảnh chi tiết và sắc nét hơn. Lí do vì 2 màn hình này đều có tỉ lệ height/width bằng nhau nhưng tỉ 6.1/6.5 lớn hơn hiều so với 828/1242. Chứng tỏ trên cùng một không gian, các màn hình khác nhau có số lượng pixel là khác nhau hay pixels-per-inch (PPI) khác nhau

  1. Points: Kích thước các points là bằng nhau, màn hình lớn hơn thì nhiều point hơn
  2. Pixcels: Mỗi point sẽ chứa số lượng pixcels khác nhau, càng nhiều pixcels trong 1 point thì chi tiết càng rõ và nét hơn. Mỗi đời Iphone sẽ có point ứng với 1x1, 2x2, 3x3 pixels

Bạn chỉ cần cung cấp độ phân giải khác nhau của 1 bức ảnh, iOS sẽ tự động chọn lựa ảnh phù hợp với độ phân giải của từng màn hình

Tỉ lệ ảnh 1x, 2x và 3x

Trăm nghe không bằng mắt thấy :v

  • Hàng trên: Khi chỉ dùng pixel để nói về độ phân giải, đây là pixels tuyệt đối, mỗi pixel có kích thước bằng nhau, nhiều pixels hơn thì ảnh lớn hơn.
  • Hàng dưới: Khi dùng pointspixels. Với kích thước ảnh bằng nhau, nhưng point từ trái qua phải chứa số lượng pixels tăng dần, từ đó cho chất lượng hình ảnh rõ nét và chi tiết hơn. 1x, 2x và 3x ra đời từ đây, lần lượt ứng với 1x1, 2x2, 3x3 pixels

Thêm 1 VD thực tế nữa nhé (^.=)

Thể hiện cùng 1 tấm ảnh cùng kích thước trên iphone5 , iphone 11 và iphone 12

  • IPhone 5 sử dụng ảnh 1x - 75x75 pixels
  • Iphone 11 sử dụng ảnh 2x - 150x150 pixels
  • Iphone 12 sử dụng ảnh 225x225 pixels
  • Nhưng cả 3 ảnh trên đều cùng 1 kích thước là 75x75 points

Again: Bạn chỉ cần cung cấp độ phân giải khác nhau của 1 bức ảnh, iOS sẽ tự động chọn lựa ảnh phù hợp với độ phân giải của từng màn hình

Cách đặt tên để nhận biết 1x, 2x, 3x:

  • filename.png (jpg,...v...v) mặc định là @1X
  • filename@2x.png (jpg,...v...v) cho ảnh @2X
  • filename@3x.png (jpg,...v...v) cho ảnh @3x

Recommended tool tạo nhanh @2x, @3x và kích thước, tỉ lệ màn hình Iphone


Tổng kết

Awesome, tổng kết lại bài học hôm nay:

  • Sụ khác biệt giữa pointspixels
  • Khi nào và tại sao sử dụng 1x, 2x, 3x
  • Cách đặt tên cho file @2x, @3x
  • Cách render UI trên các màn hình có độ phân giải và kích thước khác nhau
  • Recommend tools tạo nhanh ảnh @1x, 2x và 4x'

Bình luận

Bài viết tương tự

- vừa được xem lúc

MOSH: Kẻ hủy diệt SSH

Lời nói đầu. Lời đầu tiên xin được xin chào cả nhà, đã lâu lắm rồi mình không viết blog nay May Fest mà người iu mình thích cái áo viblo quá nên xin phép nổ phát súng trên Viblo về Mosh - thứ khá hay

0 0 138

- vừa được xem lúc

Vòng đời và trạng thái của Thread

A. Giới thiệu.

0 0 137

- vừa được xem lúc

Giải quyết vấn đề N+1 trong quan hệ cha - con vô tận bằng Eager Loading

Vấn đề. Trong khi phát triển ứng dụng, chắc hẳn các bạn đã gặp phải trường hợp đệ quy cha-con trong khi phát triển các dự án, ví dụ như cây thư mục như sau:.

0 0 182

- vừa được xem lúc

Bạn tổ chức thư mục views cho các dự án Laravel như thế nào?

Hầu hết các ứng dụng Laravel có rất nhiều views. Một ứng dụng nhỏ sẽ không xảy ra vấn đề gì cả, tuy nhiều nếu dự án lớn dần theo thời gian, chúng ta sẽ gặp bế tắc trong việc tổ chức và sắp xếp các vie

0 0 202

- vừa được xem lúc

Sự khác nhau giữa những điều tưởng giống nhau - Phần 3

Hôm nay, để tiếp tục cho series so sánh, hãy cùng mình khám phá thêm 2 địa danh mới khá nổi tiếng của Việt Nam mình đó là Cù Lao Chàm và đảo Lý Sơn. .

0 0 112

- vừa được xem lúc

Một số thuật toán sắp xếp

Chắc hẳn ngồi trên ghế giảng đường đại học thì ai cũng sẽ được làm quen với thuật toán. Nghe thì thật là trừu tượng và mơ hồ, nhưng để tối ưu hóa những bài toán đặt ra thì bắt buộc các bạn phải học đế

0 0 175