Giả sử mật độ điểm ảnh là 300 ppi = 300 pixel/inch. Chúng ta biết rằng 1 inch bằng 2,54 cm, do đó với mật độ điểm ảnh là 300 ppi nghĩa là sẽ có 300 điểm ảnh trên mỗi 2,54 cm. Hay nói cách khác là trên 1 cm sẽ có 300/2,54= 118.11023622047243 điểm ảnh, tương ứng 118.11023622047243 pixel.
Pixel hay điểm ảnh là đơn vị thường được sử dụng trong in ấn, thiết kế đồ họa. Bạn có thể dễ dàng thấy đơn vị này trong Photoshop, AI, Paint, Cad,…
Pixel, px hay có khi gọi là pel [xuất phát từ “picture element”], chúng ta hay gọi là điểm ảnh, có dạng hình vuông.
Một hình ảnh bitmap mà bạn thấy trên màn hình là ma trận hai chiều [2D] của các pixel tạo nên [hay ma trận của các hình vuông nhỏ]. Mỗi pixel chiếm 1 vị trí trong ma trận và chứa 1 phần của hình ảnh hiển thị. Mỗi pixel chứa 1 màu duy nhất được phối hợp từ 3 màu cơ bản Red, Green, Blue.
Pixel thường được dùng để nói về độ phân giải [resolution] của thiết bị.
Ví dụ: Samsung Galaxy S3 có màn hình độ phân giải 1280×720 [Height x Width]. Điều này có nghĩa là chiều cao của màn hình Galaxy S3 là 1280 pixels, còn chiều rộng là 720 pixels.
Thiết bị có độ phân giải càng cao thì màn hình càng có nhiều pixels. Tuy nhiên điều này chưa nói lên được là màn hình sẽ hiển thị ảnh min, đẹp hay không. Điều này tùy thuộc vào diện tích của màn hình, vì vậy pixel không dùng làm đơn vị đo lường kích thước của màn hình thiết bị, nhưng lại được dùng để đo kích thước của ảnh.
2. dp, hay dip hay Density-independent Pixels, có khi được gọi là Device-independent Pixels:Đây là một đơn vị đo chiều dài vật lý cũng giống như inch, cm, mm… mà Google thường áp dụng để đo kích thước màn hình của thiết bị. [Bên iOS dùng pt hay point có khái niệm tương tự với dp – xem mục 4 bên dưới]
160 dp = 1 inch – điều này có nghĩa 1dp = 1/160 = 0.00625 inch
1 dp có thể chứa 1 hay nhiều pixel.
3. DPI – Dots per inch hay PPI – Pixels per inch:Lưu ý dp hay dip không được nhầm lẫn với dpi [dots per inch].
Dots per inch là số điểm ảnh [pixels] trên 1 inch của màn hình thiết bị, con số này càng lớn thì màn hình thiết bị hiển thị hình ảnh càng mịn và đẹp.
Dựa vào dpi người ta chia làm loại màn hình như sau:
– small: ldpi [120dpi]
– normal: mdpi [160dpi]
– large: hdpi [240dpi]
– x-large: xhdpi [320dpi].
Với mỗi loại này thì 1 dp tương ứng với số lượng pixels khác nhau, được tính theo công thức:
px = dp * [dpi / 160]
Ví dụ với thiết bị có dpi là 320 thì với 10 dp ta có: 10 * [320/160] = 20 px, 1 dp tương đương 2 px.
Mã [text]:
iPhone3 320x480 163 ppi
iPhone4 640×960 326 ppi
iPhone4S 640×960 326 ppi
iPhone5 640×1136 326 ppi
iPad 1024x768 132 ppi
iPad2 1024x768 132 ppi
iPad [3gen] 2048x1536 264 ppi
iPad [4gen] 2048x1536 264 ppi
iPad mini 1024x768 163 ppi
4. PT – Point:PT – viết tắt của Point, khái niệm pt tương tự như dp là một đơn vị đo kích thước thực, nhưng khác với dp:
Hiểu về đơn vị xác định độ dài khi trình bày layout, khi vẽ canvas trong Android, chuyển đổi qua lại giữa các đơn vị px, dp, pt … Xác định thông tin màn hình hiện thị như mật độ điểm ảnh, chiều cao, chiều rộng
Kích thước màn hình
Màn hình hiện đại dù hình ảnh rất mịn mạng, nhưng thực chất được tạo ra từ hàng ngàn những điểm rất nhỏ, mỗi điểm nhỏ đóđược gọi gọi là điểm ảnh pixel ký hiệu là px, chúng bố trí tạo ra một lưới các điểm ảnh.Bạn đang xem: 1 point bằng bao nhiêu cm
Các pixel được trí từ trái qua phải là X, từ trên xuống dưới là trục Y [khoảng cách 2 pixel theo trục X và Y có thể bằng nhau, có thể khác nhau]. Ví dụmột màn hình 320 x 480 [width x height] thì có 320 pixel theo trục X và 480 pixel theo trục Y.
Đang xem: 1 pt bằng bao nhiêu cm
Khái niệm về kích thước màn hình
Kích thước màn hình mà mọi người vẫn quen sử dụng đối với smartphone, laptop, Tivi đó là đơn vị inch [1 inch = 2.54 cm = 25.4 mm] [màn hình laptop 17 inch chẳng hạn].Đây là kích thước đo bằng đường chéotừ góc trên bên trái tới góc dưới bên phải màn hình. Nếu biết chiều rộng, chiều cao màn hình thì có thể tính toán ra kích thước màn hình theo khái niệm trên. Như ví dụ sau, màn hình kích thước 3.2 inch
Mật độ điểm ảnh PPI và DPI
PPI Pixels Per Inch – Mật độ điểm ảnh có nghĩa là số lượng pixel trên một Inch. Như vậy màn hình nào có mật độ điểm ảnh lớn sẽ cho ảnh sắc nét hơn, vì thế đây là thông số quan tâm khi mua một thiết bị mới.
Xem thêm: Cách Tính Sin Cos Tan Bằng Máy Tính Fx 570Es Plus, Giáo Án Hình Học 9
Để kích thước ảnh hiện thị một cách độc lập với PPI [kích thước ảnh giống nhau trên các màn hình có PPI khác nhau], khi vẽ ảnh, xây dựng tài nguyên Android có thể dùng tới đơn vị phái sinh từ DPI là . Đơn vị dp [Density Independent Pixel] được tính dựa theo màn hình gốc ban đầu làm chuẩn. Android phần chia ra các loại màn hình theo DPI
MDPI – màn hình có độ phân giải trung bình – là màn hình làm chuẩn: 1dp = 1px [có khoảng 160dp trong 1 in, mật độ density = 1] LPDI – màn hình có độ phân giải thấp: 1dp = 0,75px, [density = 0,75] HDPI – màn hình có độ phân giải cao: 1dp = 1,5px, [density = 1,5] XHDPI – màn hình có độ phân giải siêu cao: 1dp = 2px, [density = 2] XXDPI – màn hình có độ phân giải siêu siêu cao: 1dp = 3pixel, [density = 3] XXDPI – màn hình có độ phân giải siêu siêu siêu cao: 1dp = 4pixel, [density = 4]
Các đơn vị xác định kích thước, khoảng cách màn hình trong lập trình Android / IOS
Có hai nhóm đơn vị, thứ nhất là các đơn vị độc lập mật độ và các đơn vị phụ thuộc vào mật độ điểm ảnh trên màn hình.
Xem thêm: Tải Mẫu Sơ Yếu Lý Lịch Xin Việc Chuẩn Theo Quy Định Mới 2021
Đơn vị phụ thuộc PPI, có nghĩa nó loại đơn vị tương đối, kích thước theo đơn vị này khi thể hiện thật trên các màn hình có mật độ điểm ảnh khác nhau là khác nhau, đó là đơn vị px px – một pixel thực tế trên màn hình [Khi bạn vẽ ảnh 100px thì kích thước thật [theo mm, cm …] thể hiện trên màn hình là khác nhau cho các màn hình có mật độ điểm ảnh khác nhau] Đơn vị độc lập với PPI có nghĩa là nó thể hiện đúng kích thước vật lý, dù đó là màn hình nào. Đó là các đơn in, mm, pt, dp, sp in – [1 in = 2.54cm]- kích thước vật lý thật trên mọi màn hình mm – kích thước vật lý 1mm, giống nhau cho mọi màn hình pt – điểm [point], đây là đơn vị phổ biến dùng biểu diễn kích thước font chữ [72pt = 1inch = 25.4mm] hay 1pt = [1/72]in dp – [hoặc ký hiệu dip] mặc dù xếp vào loại đơn vị độc lập với PPI, nhưng một dp trên các màn hình khác nhau có một chút sai số nhỏ [chỉ xấp xỉ bằng nhau trên các loại màn hình khác nhau]. 1 in ≃ 160 dp sp – [scale independent pixel], được dùng chủ yếu cho cỡ chữ, nó khá tương đồng với sp nhằm mục đích chữ có cỡ giống nhau sẽ hiện thị kích thước giống nhau trên các màn hình có PPI khác nhau. Tỷ lệ giữa sp và dp có thể điều chỉnh lại bởi người dùng.
Tỷ lệ tương đối giữa sp và dp có thể điều chỉnh lại
Vì dụ trong XML trình bày layout
Ví dụ trong: values/dimens.xml
16dp 14sp 100px 20ptViệc sự dụng đơn vị như thế nào do ý thích của bạn, tuy nhiên để đảm bảo độc lập về thiết bị thì nên dùng dptrong trình bày đơn vị liên quan đến layout, như kích thước, margin, padding, width, height … Dùng sp cho cơ chữ.
Sử dụng các đơn vị trong Android – Thông tin màn hình thiết bị
Sử dụng DisplayMetrics để biết thông tin hiện thị trên màn hình thiết bị
DisplayMetrics [android.util.DisplayMetrics] là lớp chứa các hằng số, phương thức cho bạn biết thông tin về màn hình thiết bị, cấu hình hiện thị.Để có được một DisplayMetrics có thể làm như sau:
Trong các Activity
DisplayMetrics metrics = new DisplayMetrics[]; getWindowManager[].getDefaultDisplay[].getMetrics[metrics];Khi đã có Context
DisplayMetrics metrics = context.getResources[].getDisplayMetrics[]DisplayMetrics cung cấp các thuộc tính
densityMật độ logic [tương quan DPI và PPI]densityDpichính là DPIheightPixels, widthPixelsLấy chiều cao, chiều rộng hiện thị theo pxscaledDensityTỷ lệ cho font chữ [đơn vị sp], scaledDensity thường là bằng với density, trừ khi người dùng điều chỉnhxdpi, ydpiSố pixel trong 1 inch chính xác theo chiều X [ngang], chiều YChuyển đổi giữa các đơn vị
Nhiều trường hợp bạn có nhu cầu chuyển đổi giá trị theo đơn vị này sang giá trị theo đơn vị khác trong lập trình Android
Chuyển từ DP sang PX
public static int convertDpToPixels[float dp, Context context] { int px = [int] TypedValue.applyDimension[TypedValue.COMPLEX_UNIT_DIP, dp, context.getResources[].getDisplayMetrics[]]; return px;}Chuyển từ SP sang PX
public static int convertSpToPixels[float sp, Context context] { int px = [int] TypedValue.applyDimension[TypedValue.COMPLEX_UNIT_SP, sp, context.getResources[].getDisplayMetrics[]]; return px;}Từ px tính ra dp
dp = [kích_thước_theo_pixel * 160] / densityNgoài ra bạn cũng có thể khai báo giá trị 1 đơn vị trong values/dimens.xml rồi đọc giá trị đó, để biết 1 đơn vị mô tả có bao nhiêu pixel.Ví dụ trong values/dimens.xml thêm các dòng:
1dp1sp1pt1in1mmint sizeInPixel = context.getResources[].getDimensionPixelSize[R.dimen.one_unit_dp];
Mật độ màn hình và tài nguyên trong dự án Adnroid
Mật độ màn hình density chính là tỷ tệ tượng quan giữa số point và pixel, để lấy được giá trị này trong Android có đoạn code sau:
float density = context.getResources[].getDisplayMetrics[].density; if [density == 0.75] { //Màn hình LDPI } else if [density == 1] { //Màn hình MDPI } else if [density == 1.5] { //Màn hình HDPI } else if [density == 2] { //Màn hình XHDPI } else if [density == 3] { //Màn hình XXHDPI } else if [density == 4] { //Màn hình XXXHDPI }Chính từ giá trị mật độ này, khi xây dựng các tài nguyên như hình ảnh, các ảnh có lưu trong thư mục trùng với tên màn hình tương ứng, khi ứng dụng chạy nó sẽ tìm tới ldpi mdpi hdpi xhdpi xxhdpi xxxhdpi nodpi tvdpi tài nguyên phù hợp với màn hình