Skip to content

Commit 3810d74

Browse files
committed
Create 250910_pixel_alignment_issue.md
1 parent 288b649 commit 3810d74

File tree

1 file changed

+83
-0
lines changed

1 file changed

+83
-0
lines changed
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# 250910 pixel alignment issue
2+
3+
์•„์ดํฐ์—์„œ ํŠน์ • ๋””๋ฐ”์ด์Šค(iPhone 15 Plus)์—์„œ๋งŒ ์–‡์€ ๊ฒ€์€ ์„ ์ด ๋ณด์ด๋Š” ๋ฌธ์ œ๋ฅผ ํ†ตํ•ด
4+
ํฌ์ธํŠธ์™€ ํ”ฝ์…€, ํ”ฝ์…€ ์ •๋ ฌ, ์•ˆํ‹ฐ์•จ๋ฆฌ์–ด์‹ฑ ๊ฐœ๋…์„ ์ •๋ฆฌํ•˜๊ณ  ์›์ธ์„ ๋ถ„์„ํ–ˆ๋‹ค.
5+
6+
7+
9์›” 10์ผ (์ˆ˜)
8+
9+
10+
# ํ•™์Šต๋‚ด์šฉ
11+
12+
> ๋ฌธ์ œ: ํŠน์ • ๋””๋ฐ”์ด์Šค์—์„œ ๋ทฐ์˜ ๋„ˆ๋น„๊ฐ€ ์†Œ์ˆ˜์ ์œผ๋กœ ๊ณ„์‚ฐ๋˜๋Š” ๊ฒฝ์šฐ ์•ˆํ‹ฐ์•จ๋ฆฌ์–ด์‹ฑ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ.
13+
14+
์•ˆํ‹ฐ์•จ๋ฆฌ์–ด์‹ฑ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ๋””๋ฐ”์ด์Šค ํ™”๋ฉด์— ๊ฒ€์€ ์‹ค์„ ์ด ๋ณด์—ฌ์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.
15+
16+
## ๋ฌธ์ œ ํ˜„์ƒ ์˜ˆ์‹œ
17+
18+
![image](https://github-production-user-asset-6210df.s3.amazonaws.com/75905803/487535051-d9784415-ffcf-41e1-b2bb-ad4185df8aa9.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20250910%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250910T001138Z&X-Amz-Expires=300&X-Amz-Signature=13cacfb00452c0d223e31bfae9f627ec749884da019f0235870976e5d8ca9a90&X-Amz-SignedHeaders=host)
19+
20+
### 1. ํฌ์ธํŠธ(Point) vs ํ”ฝ์…€(Pixel)
21+
22+
- ํ”ฝ์…€: ํ™”๋ฉด์„ ์ด๋ฃจ๋Š” ๊ฐ€์žฅ ์ž‘์€ ๋„ค๋ชจ ์นธ. ์‹ค์ œ ๋””์Šคํ”Œ๋ ˆ์ด ๋ฌผ๋ฆฌ ๋‹จ์œ„.
23+
- ํฌ์ธํŠธ: iOS ๋””์ž์ธ/๊ฐœ๋ฐœ์—์„œ ์“ฐ๋Š” ๊ฐ€์ƒ์˜ ๋‹จ์œ„.
24+
- ๊ฐ™์€ ์•ฑ์ด๋ผ๋„ iPhone 13(@3x), iPhone SE(@2x) ๋“ฑ ๊ธฐ๊ธฐ์— ๋”ฐ๋ผ ํ”ฝ์…€ ์ˆ˜๊ฐ€ ๋‹ค๋ฅด์ง€๋งŒ, ํฌ์ธํŠธ๋Š” ํ†ต์ผ๋œ ๊ธฐ์ค€์ด๋ผ์„œ โ€œ100pt ๋ฒ„ํŠผโ€์€ ๋ชจ๋“  ๊ธฐ๊ธฐ์—์„œ ๊ฐ™์€ ํฌ๊ธฐ๋กœ ๋ณด์ธ๋‹ค.
25+
- ์˜ˆ: iPhone 15 Plus๋Š” @3x ๊ธฐ๊ธฐ๋ผ์„œ 1pt = 3px.
26+
27+
### 2. ํ”ฝ์…€ ์ •๋ ฌ(Pixel Alignment)
28+
29+
- ํ™”๋ฉด์— ์š”์†Œ๋ฅผ ๋ฐฐ์น˜ํ•  ๋•Œ, ํฌ์ธํŠธ ๋‹จ์œ„๊ฐ€ ์ •ํ™•ํžˆ ํ”ฝ์…€ ๋ฐฐ์ˆ˜๋กœ ๋–จ์–ด์ง€๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.
30+
- ์˜ˆ: 20pt โ†’ @3x์—์„œ๋Š” 60px โ†’ ํ”ฝ์…€ ์ •๋ ฌ ์ •ํ™•ํžˆ ๋งž์Œ โœ…
31+
- ๋ฐ˜๋Œ€๋กœ 20.5pt โ†’ @3x์—์„œ๋Š” 61.5px โ†’ ํ”ฝ์…€์ด ๋ฐ˜ ์นธ์— ๊ฑธ๋ ค๋ฒ„๋ฆผ โŒ
32+
- ํ”ฝ์…€ ๋ฐ˜ ์นธ์— ๊ฑธ๋ฆฌ๋ฉด ํ™”๋ฉด์ด ํ๋ฆฟํ•˜๊ฑฐ๋‚˜ ์–‡์€ ์„ ์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค.
33+
34+
### 3. ์•ˆํ‹ฐ์•จ๋ฆฌ์–ด์‹ฑ(Anti-aliasing)
35+
36+
- ํ”ฝ์…€ ๋ฐ˜ ์นธ์— ์„ ์ด๋‚˜ ์ด๋ฏธ์ง€๊ฐ€ ๊ฑธ๋ฆฌ๋ฉด, ํ”ฝ์…€์„ ์˜จ์ „ํžˆ ์น ํ•  ์ˆ˜ ์—†๋‹ค.
37+
- ์ด๋•Œ ์ปดํ“จํ„ฐ๊ฐ€ ํ”ฝ์…€์„ ์ค‘๊ฐ„ ์ƒ‰(ํšŒ์ƒ‰/๋ฐ˜ํˆฌ๋ช… ๋“ฑ) ์œผ๋กœ ์„ž์–ด ์น ํ•ด ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋ณด์ด๋„๋ก ๋ณด์ •ํ•˜๋Š” ๊ฒŒ ์•ˆํ‹ฐ์•จ๋ฆฌ์–ด์‹ฑ์ด๋‹ค.
38+
- ๋ฌธ์ œ๋Š”, ์›๋ณธ ์ด๋ฏธ์ง€ ์ฃผ๋ณ€์— ํˆฌ๋ช…+๊ฒ€์ • ๊ฐ™์€ ํ”ฝ์…€์ด ์žˆ์œผ๋ฉด ์ด๊ฒŒ ์„ž์—ฌ์„œ ๊ฒ€์€ ์„ ์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด๋‹ค.
39+
40+
### 4. ์ •๋ฆฌ
41+
42+
- ํฌ์ธํŠธ: ๋””์ž์ธ/๊ฐœ๋ฐœ์šฉ ๊ฐ€์ƒ ๋‹จ์œ„ (๊ธฐ๊ธฐ์— ์ƒ๊ด€์—†์ด ์ผ์ •).
43+
- ํ”ฝ์…€: ์‹ค์ œ ํ™”๋ฉด ์นธ (@2x, @3x๋กœ ํ™•๋Œ€๋จ).
44+
- ํ”ฝ์…€ ์ •๋ ฌ: ํฌ์ธํŠธ ๊ฐ’์ด ์ •์ˆ˜ ๋ฐฐ์ˆ˜๋กœ ๋งž์•„์•ผ ํ™”๋ฉด์ด ์„ ๋ช…ํ•˜๊ฒŒ ๋‚˜์˜ด.
45+
- ์•ˆํ‹ฐ์•จ๋ฆฌ์–ด์‹ฑ: ๋ฐ˜ ์นธ์— ๊ฑธ๋ฆฌ๋ฉด ๋ณด์ •์ด ๋“ค์–ด๊ฐ€๋ฉด์„œ ์›์น˜ ์•Š๋Š” ์ƒ‰(๊ฒ€์€ ๋ผ์ธ ๋“ฑ)์ด ์„ž์—ฌ ๋ณด์ผ ์ˆ˜ ์žˆ์Œ.
46+
47+
### 5. ํฌ์ธํŠธ์™€ ํ”ฝ์…€ ๋ฐฐ์ˆ˜ ๊ด€๊ณ„
48+
49+
- iOS ๊ธฐ๊ธฐ๋Š” ๋””์Šคํ”Œ๋ ˆ์ด ๋ฐฐ์œจ(@2x, @3x) ์ด ์ •ํ•ด์ ธ ์žˆ๋‹ค.
50+
- ์˜ˆ๋ฅผ ๋“ค์–ด iPhone 15 Plus๋Š” @3x โ†’ 1pt = 3px.
51+
- ์ฆ‰, ํฌ์ธํŠธ ๊ฐ’ ร— ๋ฐฐ์œจ = ์‹ค์ œ ํ”ฝ์…€ ์ˆ˜ ๊ฐ€ ์ •์ˆ˜๋กœ ๋–จ์–ด์ ธ์•ผ ํ™”๋ฉด์— ์ •ํ™•ํžˆ ํ‘œ์‹œ๋œ๋‹ค.
52+
53+
54+
> ๐Ÿ‘‰ **์š”์•ฝ**:
55+
> - ํฌ์ธํŠธ๋Š” ๋””์ž์ธ ๋‹จ์œ„, ํ”ฝ์…€์€ ์‹ค์ œ ํ™”๋ฉด ๋‹จ์œ„.
56+
> - `ํฌ์ธํŠธ ร— ๋ฐฐ์œจ` ๊ฒฐ๊ณผ๊ฐ€ ์ •์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ฉด ๋ฐ˜ ์นธ์— ๊ฑธ๋ ค์„œ ์•ˆํ‹ฐ์•จ๋ฆฌ์–ด์‹ฑ์ด ๋ฐœ์ƒ.
57+
> - ์ด๋•Œ ์–‡์€ ๊ฒ€์€ ์„ ์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜ ์žˆ๋‹ค.
58+
59+
60+
# ๊ณ ๋ฏผํ•œ ์  / ํ•ด๊ฒฐ๋ฐฉ๋ฒ•
61+
62+
63+
- ์™œ ๋ชจ๋“  ๊ธฐ๊ธฐ์—์„œ ๊ณตํ†ต์œผ๋กœ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ  ์ผ๋ถ€ ๊ธฐ๊ธฐ์—์„œ๋งŒ ๋ณด์ด๋Š”๊ฐ€?
64+
โ†’ ๊ธฐ๊ธฐ๋ณ„ ํ™”๋ฉด ํญ, ๋งˆ์ง„ ์กฐํ•ฉ์— ๋”ฐ๋ผ ๋‚จ์€ ๊ณต๊ฐ„์ด ํ™€์ˆ˜/์ง์ˆ˜๋กœ ๊ฐˆ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ.
65+
- ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•
66+
- ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ทฐ์˜ ๋„ˆ๋น„๊ฐ€ ์†Œ์ˆ˜์ ์œผ๋กœ ๊ณ„์‚ฐ๋˜๋ฉด ์˜ฌ๋ฆผ ์ฒ˜๋ฆฌํ•˜์—ฌ ์ •์ˆ˜ pt๋กœ ๋งž์ถค.
67+
โ†’ ์˜ˆ: 18.5pt โ†’ 19pt๋กœ ๋ณด์ •ํ•ด ํ”ฝ์…€ ์ •๋ ฌ์„ ๊ฐ•์ œ.
68+
69+
70+
# ๋А๋‚€์ 
71+
72+
- ๋ ˆ์ด์•„์›ƒ ๊ณ„์‚ฐ ์‹œ ์ •์ˆ˜ ๋ณด์ •์„ ์Šต๊ด€ํ™”ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ๋А๊ผˆ๋‹ค.
73+
74+
75+
---
76+
77+
78+
# ์ฐธ๊ณ  ๋งํฌ
79+
80+
81+
- [https://developer.apple.com/design/human-interface-guidelines/layout#display-scale](https://developer.apple.com/design/human-interface-guidelines/layout#display-scale)
82+
- [https://xebia.com/blog/ios-pixel-misalignment-why-its-bad-how-to-fix-it/](https://xebia.com/blog/ios-pixel-misalignment-why-its-bad-how-to-fix-it/)
83+
- [https://stackoverflow.com/questions/5832869/single-sub-pixel-misalignment-of-divs-on-ipad-and-iphone-safari](https://stackoverflow.com/questions/5832869/single-sub-pixel-misalignment-of-divs-on-ipad-and-iphone-safari)

0 commit comments

Comments
ย (0)