์ด๋ฏธ์ง ์ ๋ช ๋ ์ต์ ํ: image-rendering ์์ฑ ๋ฐ ํฐ์คํ ๋ฆฌ ์ธ๋ค์ผ ํ์ง ๊ฐ์ ๋ฐฉ๋ฒ
CSS image-rendering ์์ฑ์ ์ฌ์ฉํ์ฌ ์น์ฌ์ดํธ์ ๋ธ๋ก๊ทธ์ ์ด๋ฏธ์ง ์ ๋ช ๋๋ฅผ ๋์ด๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ณ ํนํ ํฐ์คํ ๋ฆฌ ์ธ๋ค์ผ ํ๋ฆผ ํ์์ ๊ฐ์ ํ๋crisp-edges ๋ฐ pixelated ์์ฑ ํ์ฉ๋ฒ, ๊ณ ํด์๋(๋ ํฐ๋) ๋์คํ๋ ์ด ๋์ ์ ๋ต, Canvas ์ด๋ฏธ์ง ํ์ง ์ค์ ๋ฑ ์ต์ ํ ๊ธฐ์ ์ ํตํดํ๊ณ ์ด๋ฏธ์ง ํ์ง ๊ฐ์ ๋ฐฉ๋ฒ ์ ๋๋ค.
์น์ฌ์ดํธ๋ฅผ ์ด์ํ๊ฑฐ๋ ๋ธ๋ก๊ทธ๋ฅผ ๋์์ธํ ๋,์ด๋ฏธ์ง๊ฐ ์๋์ ๋ฌ๋ฆฌ ํ๋ฆฟํ๊ฒ ๋ณด์ด๋ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์์ต๋๋ค. ํนํ ๋ฐ์ํ ์น ๋์์ธ์์๋ ์ด๋ฏธ์ง ํฌ๊ธฐ๊ฐ ๋์ ์ผ๋ก ๋ณํ๋ฉด์ ๋ธ๋ผ์ฐ์ ๊ฐ ์๋์ผ๋ก ๋ฆฌ์ฌ์ด์ง ์ฒ๋ฆฌํ๊ณ , ์ด ๊ณผ์ ์์ ๋ถ๋๋ฌ์ด ๊ณ๋จ ํ์(anti-aliasing)์ด ์ ์ฉ๋์ด ์ด๋ฏธ์ง๊ฐ ๋ฟ์๊ฒ ๋ณด์ผ ์ ์์ต๋๋ค.
ํฐ์คํ ๋ฆฌ ์ธ๋ค์ผ ํ๋ฆผ ํ์, image-rendering์ผ๋ก ๊ฐ์ ํ๋ ๋ฐฉ๋ฒ
์ด๋ฌํ ๋ฌธ์ ๋ image-rendering ์์ฑ์ ํตํด ์ผ์ ๋ถ๋ถ ์ ์ดํ ์ ์์ผ๋ฉฐ, ํนํ ์ธ๋ค์ผ, ์์ด์ฝ, ํฝ์ ์ํธ ๋ฑ์์ ์๊ฐ์ ์ ๋ช ๋๋ฅผ ๋์ด๋ ๋ฐ ์ ์ฉํฉ๋๋ค. ์ด๋ฒ ๊ธ์์๋ ๋ธ๋ก๊ทธ์ ์ด๋ฏธ์ง ํ์ง ๊ฐ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ด์ผ๊ธฐ๋ฅผ ํด๋ณด๊ฒ ์ต๋๋ค.
1. image-rendering ์์ฑ์ ๊ธฐ๋ณธ ์ดํด ๋ฐ ๋ธ๋ผ์ฐ์ ์ ์ด ์๋ฆฌ
image-rendering์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ด๋ฏธ์ง๋ฅผ ์ด๋ป๊ฒ ๋ ๋๋ง(ํฝ์
์ ์กฐ์ ํด์ ๋ณด์ฌ์ค์ง) ๊ฒฐ์ ํ๋ CSS ์์ฑ์
๋๋ค. ํนํ ์ด๋ฏธ์ง ํ๋ ์ ์ ๋ช
๋ ์ ์ง์ ๋ถ๋๋ฌ์ด ๋ณด๊ฐ์ ์ ํํ ์ ์๊ฒ ํด์ค๋๋ค.
1.1 ์ฃผ์ image-rendering ์์ฑ๊ฐ ์ค๋ช
| ์์ฑ๊ฐ | ์ค๋ช |
|---|---|
| auto | ๋ธ๋ผ์ฐ์ ๊ธฐ๋ณธ ์๊ณ ๋ฆฌ์ฆ ์ฌ์ฉ (๋ถ๋๋ฌ์ด ๋ณด๊ฐ, ๊ธฐ๋ณธ๊ฐ) |
| crisp-edges | ๊ณ๋จ ํ์์ ์ ์งํ์ฌ ์ ๋ช ํ ๊ฒฝ๊ณ ์ ๊ณต (์์ด์ฝ, ๋ก๊ณ ์ ์ ํฉ) |
| pixelated | ํฝ์ ์ํธ ์คํ์ผ ์ ์ง (๋ํธ ๊ทธ๋ํฝ์ ์ ํฉ) |
| -webkit-optimize-contrast | ์นํท ๊ณ์ด ๋ธ๋ผ์ฐ์ (์ฌํ๋ฆฌ, ํฌ๋กฌ ๋ฑ)์์ ์ ๋ช ๋ ํฅ์ (๋นํ์ค) |
.example-img {
image-rendering: crisp-edges; /* ํ์ค */
image-rendering: -webkit-optimize-contrast; /* ํฌ๋กฌ, ์ฌํ๋ฆฌ (๋นํ์ค) */
image-rendering: -moz-crisp-edges; /* ํ์ด์ดํญ์ค */
-ms-interpolation-mode: nearest-neighbor; /* IE ์ ์ฉ */
}
1.2 image-rendering ์์ฑ์ด ํ์ํ ์ฝํ ์ธ ์ ํ
- ๋ํธ ๊ธฐ๋ฐ ๊ฒ์ ๊ทธ๋ํฝ ๋ฐ ํฝ์ ์ํธ
- ์ ๊ตํ ์์ด์ฝ, ๋ก๊ณ ๋ฐ ๋ช ํํ ๋ผ์ธ์ด ํ์ํ ๋์์ธ ์์
- ์๋ฃ์ฐ์ ์ฉ ๊ณ ํด์๋ ์ด๋ฏธ์ง ๋ทฐ์ด
- ์ง๋, ๋ํ ๋ฑ ์ ๋ช ํ ๋ผ์ธ๊ณผ ํ ์คํธ๊ฐ ์ค์ํ ์ฝํ ์ธ
2. ์ด๋ฏธ์ง ํ์ง ๊ฐ์ ์ค์ ์ ์ฉ ์ฌ๋ก ๋ฐ SEO ์ฐ๊ด์ฑ
์ด ์์ฑ์ ๋ค์ ๊ธฐ์ ์ ์ธ ์ฑ๊ฒฉ์ ์ง๋๊ณ ์์ง๋ง, ๋ธ๋ก๊ทธ ์ด์์ ์ ์ฅ์์ ์ด๋ฏธ์ง๋ฅผ ๋๋ ทํ๊ฒ ์ธ์ํ ์ ์๊ฒ ๋ง๋๋ ๊ฒ์ ์ค์ํฉ๋๋ค.
ํนํ ํฐ์คํ ๋ฆฌ ๋ธ๋ก๊ทธ๋ฅผ ํฌํจํ CMS ํ๊ฒฝ์์๋, ์ด๋ฏธ์ง ์ ๋ช ๋ ์ต์ ํ๊ฐ ๋จ์ํ ์๊ฐ์ ๋ง์กฑ๋๋ฅผ ๋์ด SEO(๊ฒ์์์ง ์ต์ ํ)์๋ ์ํฅ์ ์ค ์ ์์ต๋๋ค. ๋์ ํ์ง์ ์ด๋ฏธ์ง๋ ์ฌ์ฉ์ ์ฒด๋ฅ ์๊ฐ์ ๋๋ฆฌ๊ณ ์ดํ๋ฅ ์ ๋ฎ์ถฐ ๊ฐ์ ์ ์ผ๋ก SEO์ ๊ธ์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
2.1 ์ธ๋ค์ผ ์ด๋ฏธ์ง ์ต์ ํ ๋ฐ CSS ์ ์ด
๋ธ๋ก๊ทธ ๋ณธ๋ฌธ์ ์ฝ์ ๋ ์ด๋ฏธ์ง๋ ํฌ๊ฒ ๋ถํธํจ์ด ์์ผ๋, ์ธ๋ค์ผ ์ด๋ฏธ์ง์ ๊ฒฝ์ฐ ํด์๋์ ๋น์จ, ์ ๋ช ๋ ์ธก๋ฉด์์ ๋ถ์กฑํจ์ ๋๋ผ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ธ๋ค์ผ์ ํด๋ฆญ ์ ๋์จ(CTR)์ ์ง์ ์ ์ธ ์ํฅ์ ์ฃผ๊ธฐ ๋๋ฌธ์, ๋ณ๋์ ์ต์ ํ๊ฐ ํ์์ ์ ๋๋ค.
2.2 ์ธ๋ค์ผ CSS ๊ตฌ์กฐ ์์์ ์์ฑ ์ค๋ช
div class="gallery"
img src="product.webp"
class="optimized-thumb"
width="400"
height="300"
alt="์ ํ ์ธ๋ค์ผ"
/div
style
.optimized-thumb {
width: 100%;
height: auto;
image-rendering: crisp-edges;
object-fit: contain;
border: 1px solid #f0f0f0;
transition: transform 0.3s ease;
}
.optimized-thumb:hover {
transform: scale(1.03);
filter: contrast(1.1);
}
/style
2.3 ํฐ์คํ ๋ฆฌ ์ด๋ฏธ์ง ์ธ๋ค์ผ ์ฝ๋ ์ง์ ์์
ํฐ์คํ ๋ฆฌ๋ ์ด๋ฏธ์ง ์นํ์({์ด๋ฏธ์ง}) ๊ธฐ๋ฐ์ผ๋ก ์ธ๋ค์ผ ์ด๋ฏธ์ง๋ฅผ ๋ก๋ํฉ๋๋ค. ์ด๋ ์ธ๋ค์ผ ๋ก๋ URL์ ํด์๋ ์นํ์(์: C58x58)๋ฅผ ์ง์ ์์ ํ์ฌ ๋ ํฐ ํด์๋์ ์ธ๋ค์ผ์ ๋ถ๋ฌ์ฌ ์ ์์ต๋๋ค. ์ด ๊ณผ์ ์์ ๋ ๋๋ง ์ ์ด๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ด ํ์ํฉ๋๋ค.
์๋ณธ ์ฝ๋
src="//i1.daumcdn.net/thumb/C58x58.fwebp.q85/?fname=" alt=""
์์ ํ ์ฝ๋ (์ธ๋ค์ผ ํฌ๊ธฐ๋ฅผ ๋ช ์์ ์ผ๋ก ๋์ฌ ์ ๋ช ๋ ๊ฐ์ )
src="//i1.daumcdn.net/thumb/C600x336.fwebp.q85/?fname=" alt=""

2.4 ๊ณ ํด์๋(๋ ํฐ๋) ๋์คํ๋ ์ด ๋์ ์ ๋ต
๊ณ ํด์๋ ๋์คํ๋ ์ด์์๋ ์ผ๋ฐ ํด์๋์ ์ด๋ฏธ์ง๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ ๊ฒฝ์ฐ ํฝ์ ๋ฐ๋ ์ฐจ์ด๋ก ์ธํด ๋ฟ์๊ฒ ๋ณด์ผ ์ ์์ต๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฏธ๋์ด ์ฟผ๋ฆฌ์ image-rendering ์์ฑ์ ๊ฒฐํฉํ๋ ๊ฒ์ด ํจ๊ณผ์ ์ ๋๋ค.
@media (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
.high-dpi-img {
background-image: url('image@2x.jpg'); /* 2๋ฐฐ ํด์๋ ์ด๋ฏธ์ง ์กฐ๊ฑด๋ถ ๋ก๋ฉ */
image-rendering: crisp-edges; /* ์ ๋ช
๋ ์ ์ง */
}
}
์ด ์ ๋ต์ ์ผ๋ฐ ๊ธฐ๊ธฐ์๋ ๊ฐ๋ฒผ์ด ์ด๋ฏธ์ง๋ฅผ, ๊ณ ํด์๋ ๊ธฐ๊ธฐ์๋ ์ ๋ช ํ ํฐ ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฌ์ฃผ์ด ์๋์ ํ์ง์ ๊ท ํ์ ๋ง์ถฅ๋๋ค.
3. ์ฑ๋ฅ ๋น๊ต ๋ฐ ์ด๋ฏธ์ง ์ต์ ํ ๋จ๊ณ๋ณ ํ
3.1 ๋ ๋๋ง ๋ฐฉ์ ๋น๊ตํ: ์ ๋ช ๋, ์ฑ๋ฅ, ํ์ฉ ์ฌ๋ก
์๋๋ CSS image-rendering ์์ฑ์ ๋ํ์ ์ธ ๋ ๋๋ง ๋ฐฉ์ 3๊ฐ์ง์ ๋ํ ์ ๋ช ๋, ์ฑ๋ฅ, ํ์ฉ ์ฌ๋ก ๋น๊ตํ์ ๋๋ค.
| ๋ ๋๋ง ๋ฐฉ์ | ์ ๋ช ๋ | ์ฑ๋ฅ | ์ฌ๋ก |
|---|---|---|---|
| ๊ธฐ๋ณธ ๋ฆฌ์ฌ์ด์ง (auto) | โณ | โ โ โ | ์ผ๋ฐ ์ฌ์ง (๋ถ๋๋ฌ์ด ํ๋ ์ถ์) |
| crisp-edges | โ โ โ | โ โ | ์์ด์ฝ, ๋ก๊ณ (๋ ์นด๋ก์ด ๊ฒฝ๊ณ ์ ์ง) |
| pixelated | โ โ | โ โ โ | ๋ํธ ๊ทธ๋ํฝ (ํฝ์ ์๋์ ํ๋) |
3.2 ์ด๋ฏธ์ง ์ต์ ํ ๋จ๊ณ๋ณ ์ข ํฉ ํ
- ์๋ณธ ํด์๋ ํ๋ณด: ํ์ ํฌ๊ธฐ์ 2๋ฐฐ ์ด์ ํด์๋๋ก ์ ์ํด์ผ ๊ณ ํด์๋ ํ๊ฒฝ์์ ์ ๋ช ํฉ๋๋ค.
- ํฌ๋งท ์ ํ: WebP(์ต์ ๋ธ๋ผ์ฐ์ ), PNG(ํฌ๋ช ๋, ์์ด์ฝ), JPEG(์ผ๋ฐ ์ฌ์ง) ์์ผ๋ก ๊ณ ๋ คํฉ๋๋ค.
- CSS ์ค์ : image-rendering, object-fit ๋ฑ ์์ฑ์ ์กฐํฉํ์ฌ ์ด๋ฏธ์ง์ ํํ ๋ฐฉ์์ ์ ์ดํฉ๋๋ค.
- ์ฑ๋ฅ ์ ๊ฒ: Chrome DevTools, Lighthouse ๋ฑ์ผ๋ก ๋ก๋ฉ ์๋์ ํ์ง์ ํ ์คํธํ์ฌ ๊ท ํ์ ์ ์ฐพ์ต๋๋ค.
4. ๋ธ๋ก๊ทธ ์ด๋ฏธ์ง ๊ฐ์ ๊ณ ๊ธ ํ์ฉ ํ ํฌ๋
4.1 Canvas ์ด๋ฏธ์ง ํ์ง ์ค์ (imageSmoothingEnabled)
HTML5์ Canvas ์์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ๊ทธ๋ฆฌ๊ฑฐ๋ ์กฐ์ํ๋ ๊ฒฝ์ฐ, ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํตํด ๋ ๋๋ง ํ์ง์ ์ง์ ์ ์ดํ ์ ์์ต๋๋ค.
- imageSmoothingEnabled ์์ฑ์ ์บ๋ฒ์ค์์ ์ด๋ฏธ์ง ํ๋/์ถ์ ์ ํฝ์ ๋ณด๊ฐ(๋ธ๋ฌ) ํจ๊ณผ๋ฅผ ์ผ๊ฑฐ๋ ๋๋ ์ต์ ์ ๋๋ค.
- false๋ก ์ค์ ํ๋ฉด ํฝ์ ๋จ์๊ฐ ๊นจ๋ํ๊ฒ ์ ์ง๋์ด, ๋ํธ ๊ทธ๋ํฝ์ด๋ ํฝ์ ์ํธ๋ฅผ ํํํ ๋ ์ ์ฉํฉ๋๋ค.
const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d');
ctx.imageSmoothingEnabled = false;
ctx.webkitImageSmoothingEnabled = false; // ํฌ๋กฌ, ์ฌํ๋ฆฌ์ฉ
ctx.mozImageSmoothingEnabled = false; // ํ์ด์ดํญ์ค์ฉ
4.2 SVG ํํฐ ๊ฒฐํฉ ์์
SVG(Scalable Vector Graphics) ํํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฏธ์ง์ ์ ๋ช ๋๋ฅผ ์ ์งํ๋ฉด์๋ ๋ค์ํ ๊ทธ๋ํฝ ํจ๊ณผ๋ฅผ ์ ๊ตํ๊ฒ ์ ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํ๋ฆผ(feGaussianBlur), ๋ฐ๊ธฐ(feComponentTransfer), ๊ทธ๋ฆผ์(feDropShadow) ํจ๊ณผ๋ฅผ ๊ฒฐํฉํ ์ ์์ต๋๋ค.
svg width="0" height="0" style="position:absolute; visibility:hidden;"
defs
filter id="combinedFilter" x="-20%" y="-20%" width="140%" height="140%"
!-- 1. ํ๋ฆผ ํจ๊ณผ --
feGaussianBlur in="SourceGraphic" stdDeviation="3" result="blurred"/
!-- 2. ๋ฐ๊ธฐ ์กฐ์ --
feComponentTransfer in="blurred" result="brightened"
feFuncR type="linear" slope="1.2" intercept="0"/
feFuncG type="linear" slope="1.2" intercept="0"/
feFuncB type="linear" slope="1.2" intercept="0"/
/feComponentTransfer
!-- 3. ๊ทธ๋ฆผ์ ํจ๊ณผ --
feDropShadow dx="4" dy="4" stdDeviation="2" flood-color="rgba(0,0,0,0.5)" /
/filter
/defs
/svg
5. ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ๋์ ๋ฐ ์ต์ข ์ต์ ํ ์ฝ๋
5.1 ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํธํ์ฑ ํ๋ณด
image-rendering ์์ฑ์ ๋ธ๋ผ์ฐ์ ๋ง๋ค ์ ๋์ฌ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ผ๋ถ ์์ฑ๊ฐ์ ์ง์ํ์ง ์์ ์ ์์ด, ๋ชจ๋ ์ฃผ์ ๋ธ๋ผ์ฐ์ ์์ ๋์ผํ ์ ๋ช ๋๋ฅผ ์ป๊ธฐ ์ํด์๋ ์๋์ ๊ฐ์ด ์ฌ๋ฌ ์์ฑ์ ๋์์ ์ ์ธํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
.img-optimized {
image-rendering: crisp-edges;
image-rendering: -webkit-optimize-contrast;
image-rendering: -moz-crisp-edges;
-ms-interpolation-mode: nearest-neighbor;
}
| ์์ฑ | ์ค๋ช | ๋์ ๋ธ๋ผ์ฐ์ |
|---|---|---|
| image-rendering: crisp-edges; | ์ด๋ฏธ์ง ํ๋ ์, ํ๋ฆฌ์ง ์๊ณ ์ ๋ช ํ๊ฒ(ํฝ์ ์ ์ง) ํ์ | ํ์ค ๋ธ๋ผ์ฐ์ |
| image-rendering: -webkit-optimize-contrast; | ํฌ๋กฌ, ์ฌํ๋ฆฌ์์ ๋๋น๋ฅผ ์ ์งํ ๊ณ ํ์ง ๋ ๋๋ง (๋นํ์ค) | WebKit ๊ณ์ด (Chrome, Safari) |
| image-rendering: -moz-crisp-edges; | ํ์ด์ดํญ์ค ์ ์ฉ ํฝ์ ์ ๋ช ๋ ์ ์ง ์ต์ | Firefox |
| -ms-interpolation-mode: nearest-neighbor; | IE ์ ์ฉ ์ด๋ฏธ์ง ํ๋ ์ ๊ฐ์ฅ ๊ฐ๊น์ด ํฝ์ ๊ฐ์ ๊ทธ๋๋ก ์ ์ง | Internet Explorer |
5.2 ๋ธ๋ก๊ทธ ์ด๋ฏธ์ง ์ ๋ช ๋๋ฅผ ๋์ด๊ธฐ ์ํ ์ต์ข ๊ถ์ฅ ์ ๋ต
์ด๋ฏธ์ง ์ต์ ํ๋ ๋จ์ํ CSS ์์ฑ ํ๋๋ง์ผ๋ก ํด๊ฒฐ๋๋ ๋ฌธ์ ๊ฐ ์๋๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ ์ข ํฉ์ ์ ๊ทผ์ด ํ์ํฉ๋๋ค:
- ๊ณ ํ์ง ์๋ณธ ํ๋ณด (ํ์ ํฌ๊ธฐ์ 2๋ฐฐ ํด์๋)
- ์ ์ ํ ์ด๋ฏธ์ง ํฌ๋งท(WebP ์ฐ์ ) ์ ํ
- ์ํฉ์ ๋ง๋ image-rendering ์์ฑ ์ ์ฉ
- ๊ณ ํด์๋ ๋์ ๋ฐ ์ฑ๋ฅ ํ ์คํธ ๋ณํ
์ด๋ฏธ์ง๊ฐ ๋๋ ทํ๊ฒ ๋ณด์ด๋ ๊ฒ๋ง์ผ๋ก๋ ๋ธ๋ก๊ทธ์ ์ ๋ฌธ์ฑ๊ณผ ์ ๋ขฐ๋๊ฐ ์์นํ๋ฉฐ, ์ฌ์ฉ์ ๊ฒฝํ์ ๊ธ์ ์ ์ธ ์ํฅ์ ์ค ์ ์์ต๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ (FAQ) - ์ด๋ฏธ์ง ๋ ๋๋ง ์ต์ ํ
Q1: ์ ์ด๋ฏธ์ง๊ฐ ๋ธ๋ก๊ทธ์์ ๋ฟ์๊ฒ ๋ณด์ด๋์?
๋ธ๋ผ์ฐ์ ๊ฐ ์ด๋ฏธ์ง๋ฅผ ์๋ ๋ฆฌ์ฌ์ด์งํ๋ฉด์ ๋ถ๋๋ฌ์ด ๋ณด๊ฐ(anti-aliasing)์ด ์ ์ฉ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ธ๋ผ์ฐ์ ๋ ์ด๋ฏธ์ง๋ฅผ ๋ถ๋๋ฝ๊ฒ ๋ณด์ด๊ฒ ํ๋ ค ํ์ง๋ง, ์ด ๊ณผ์ ์์ ์ ๋ช ๋๊ฐ ๋จ์ด์ง๋ฉฐ ๋ฟ์๊ฒ ๋๊ปด์ง๋๋ค. image-rendering ์์ฑ์ ์ฌ์ฉํ์ฌ ์ ๋ช ๋๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค.
Q2: ์ด๋ค image-rendering ์์ฑ์ด ๊ฐ์ฅ ์ ๋ช ํ๊ฐ์?
์ด๋ฏธ์ง์ ์ข ๋ฅ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ์ผ๋ฐ ์ฌ์ง์ด ์๋ ์์ด์ฝ, ๋ก๊ณ , ํฝ์ ์ํธ์ ๊ฐ์ด ์ ๋ช ํ ๊ฒฝ๊ณ๊ฐ ์ค์ํ ์ด๋ฏธ์ง์๋ crisp-edges๋ pixelated ์์ฑ์ด ๋๋ ทํ ๊ฐ์ฅ์๋ฆฌ๋ฅผ ์ ์งํ์ฌ ๊ฐ์ฅ ์ ๋ช ํ๊ฒ ๋๊ปด์ง๋๋ค.
Q3: ํฐ์คํ ๋ฆฌ ์ธ๋ค์ผ์ ๋ ์ ๋ช ํ๊ฒ ๋ง๋๋ ๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ์?
๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ฒซ์งธ, ์ธ๋ค์ผ ์ด๋ฏธ์ง ๋ก๋ URL์ ํด์๋ ์นํ์(์: C58x58)๋ฅผ ๋ ํฐ ๊ฐ(์: C600x336)์ผ๋ก ๋ณ๊ฒฝํ์ฌ ์๋ณธ ํ์ง์ ํ๋ณดํฉ๋๋ค. ๋์งธ, ํด๋น ์ธ๋ค์ผ CSS์ image-rendering: crisp-edges;๋ฅผ ์ ์ฉํ์ฌ ๋ธ๋ผ์ฐ์ ์ ๋ณด๊ฐ ํจ๊ณผ๋ฅผ ์ต์ํํฉ๋๋ค.
Q4: ๊ณ ํด์๋(๋ ํฐ๋) ๋์คํ๋ ์ด์์๋ ์ด๋ป๊ฒ ๋์ํด์ผ ๊ฐ์ฅ ์ ๋ช ํ ์ด๋ฏธ์ง๋ฅผ ์ ๊ณตํ ์ ์๋์?
2๋ฐฐ ํด์๋ ์ด๋ฏธ์ง๋ฅผ ์ ์ํ๊ณ , CSS ๋ฏธ๋์ด ์ฟผ๋ฆฌ(์: @media (-webkit-min-device-pixel-ratio: 2))๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ ํด์๋ ํ๊ฒฝ์ผ ๋๋ง ํด๋น 2๋ฐฐ ์ด๋ฏธ์ง๋ฅผ ์กฐ๊ฑด๋ถ๋ก ๋ก๋ฉํด์ผ ํฉ๋๋ค. ๋ํ, image-rendering๊ณผ srcset ์์ฑ์ ํจ๊ป ํ์ฉํ์ฌ ์ ๋ช ๋์ ๋ก๋ฉ ์๋์ ๊ท ํ์ ๋ง์ถฅ๋๋ค.