μ νν μμ μνλ§μ μν κ°λ ₯ν λΈλΌμ°μ κΈ°λ₯μΈ Eye Dropper APIλ₯Ό μ΄ν΄λ³΄μΈμ. λ€μν νλ«νΌ λ° μ§μμμ λμμΈ μν¬νλ‘μ°λ₯Ό κ°μ νκΈ° μν λꡬλ₯Ό ꡬννκ³ νμ©νλ λ°©λ²μ μμ보μΈμ.
Eye Dropper API: κΈλ‘λ² κ°λ°μλ₯Ό μν μμ μνλ§ μ’ ν© κ°μ΄λ
μΉ κ°λ° λ° λμμΈ λΆμΌμμ μ νμ±μ λ§€μ° μ€μν©λλ€. μκ°μ μΌλ‘ λ§€λ ₯μ μ΄κ³ μΌκ΄λ μ¬μ©μ μΈν°νμ΄μ€λ₯Ό λ§λλ λ° μμ΄ μ νν μμ μ νμ νμμ μ λλ€. Eye Dropper APIλ μΉ μ ν리μΌμ΄μ μ΄ νλ©΄μ λͺ¨λ ν½μ μμ μμμ μνλ§ν μ μλ νμ€νλ λ°©λ²μ μ 곡νλ©°, λΈλΌμ°μ μ°½ λ΄μμλ§ μλνλ κΈ°μ‘΄ μμ μ νκΈ°μ νκ³λ₯Ό λμ΄μλλ€. μ΄λ λ€μν μμ νλ νΈμ λΈλλ μ§μΉ¨μ κ°μ§ νλ‘μ νΈμ μ°Έμ¬νλ λμμ΄λμ κ°λ°μμκ² λ¬΄νν κ°λ₯μ±μ μ΄μ΄μ€λλ€. μ΄ κ°μ΄λμμλ Eye Dropper APIμ 볡μ‘μ±μ κΉμ΄ νκ³ λ€μ΄ κΈ°λ₯, ꡬν κΈ°μ λ° μ μΈκ³ μ¬μ©μλ₯Ό μν μ μ¬μ μ μ© μ¬λ‘λ₯Ό νꡬν©λλ€.
Eye Dropper APIλ 무μμΈκ°μ?
Eye Dropper APIλ μ¬μ©μκ° λΈλΌμ°μ μ°½ μΈλΆλ₯Ό ν¬ν¨νμ¬ νλ©΄ μ΄λμμλ μμμ μ νν μ μλλ‘ νλ μΉ APIμ λλ€. μΉ μ ν리μΌμ΄μ μ΄ μμ€ν μμ€μ μμ μνλ§ κΈ°λ₯μ μμ νκ² μ‘μΈμ€ν μ μλ νμ€νλ λ°©λ²μ μ 곡ν©λλ€. μ΄ APIλ λ€μκ³Ό κ°μ μμ μ νΉν μ μ©ν©λλ€.
- λμμΈ μΌκ΄μ±: μΉ μ ν리μΌμ΄μ μ μ¬μ©λ μμμ΄ λΈλλ μμμ΄ μΈλΆ λ¬Έμλ μ΄λ―Έμ§μ μ μλμ΄ μλλΌλ λΈλλ μ§μΉ¨κ³Ό μ νν μΌμΉνλλ‘ λ³΄μ₯ν©λλ€.
- μ κ·Όμ±: μκ° μ₯μ κ° μλ μ¬μ©μλ₯Ό μν νΉμ λλΉ μꡬ μ¬νμ μΆ©μ‘±νλ μμμ μ νν©λλ€. μ κ·Όμ± νμ€μ μ§μλ§λ€ λ€λ₯΄λ―λ‘(μ: κ΅μ μ μΌλ‘ μ¬μ©λλ WCAG μ§μΉ¨) νΉν μ μΈκ³ μ¬μ©μλ₯Ό μν λμμΈμ μ€μν©λλ€.
- μ΄λ―Έμ§ νΈμ§: μ¬μ©μκ° μμ , μμ 보μ λ° κΈ°ν μ‘°μμ μν΄ μ΄λ―Έμ§μμ μμμ μνλ§ν μ μλ μΉ κΈ°λ° μ΄λ―Έμ§ νΈμ§ λꡬλ₯Ό λ§λλλ€.
- ν λ§ μ¬μ©μ μ μ: μ¬μ©μκ° κΈ°λ³Έ μ€μ μ΄λ μ£Όλ³μμ μ°Ύμ μμμ κΈ°λ°μΌλ‘ μΉ μ ν리μΌμ΄μ ν λ§μ μμμ μ¬μ©μ μ μν μ μλλ‘ ν©λλ€.
- λ°μ΄ν° μκ°ν: μκ°μ μΌλ‘ λ§€λ ₯μ μ΄κ³ μ μ΅ν λ°©μμΌλ‘ μ°¨νΈ λ° κ·Έλνμ λ°μ΄ν° ν¬μΈνΈλ₯Ό λνλ΄λ μμμ μ νν©λλ€. μμ μ νμ λ€λ₯Έ λ¬ΈνκΆμ μ΄ν΄μ μν₯μ λ―ΈμΉ μ μμΌλ―λ‘ μλ§Ή μΉνμ μΈ νλ νΈλ₯Ό κ³ λ €νμμμ€.
Eye Dropper APIλ μ΄λ»κ² μλνλμ?
Eye Dropper APIλ λ κ°μ§ μ£Όμ λ©μλλ₯Ό μ¬μ©νμ¬ κ°λ¨νκ³ μ§κ΄μ μΈ μΈν°νμ΄μ€λ₯Ό μ 곡ν©λλ€.
new EyeDropper()
:EyeDropper
κ°μ²΄μ μ μΈμ€ν΄μ€λ₯Ό μμ±ν©λλ€.eyeDropper.open()
: μμ€ν μ μμ μ νκΈ° μΈν°νμ΄μ€λ₯Ό μ½λλ€. μ΄ λ©μλλ μ νν μμμ 16μ§μ νμ(μ: "#RRGGBB")μΌλ‘ ν΄κ²°νκ±°λ μ¬μ©μκ° μμ μ μ·¨μνλ©΄ κ±°λΆλλ Promiseλ₯Ό λ°νν©λλ€.
Eye Dropper APIλ₯Ό μ¬μ©νλ κΈ°λ³Έ μλ λ€μκ³Ό κ°μ΅λλ€.
const eyeDropper = new EyeDropper();
try {
const result = await eyeDropper.open();
console.log("μ νν μμ:", result.sRGBHex);
// μ νν μμμΌλ‘ UI μ
λ°μ΄νΈ
} catch (error) {
console.log("μ¬μ©μκ° μμ
μ μ·¨μνμ΅λλ€.");
}
μ€λͺ :
- μ
EyeDropper
κ°μ²΄κ° μμ±λ©λλ€. open()
λ©μλκ° νΈμΆλμ΄ μμ€ν μ μμ μ νκΈ°λ₯Ό μ€νν©λλ€.await
ν€μλλ μ½λκ° μ¬μ©μκ° μμμ μ ννκ±°λ μμ μ μ·¨μν λκΉμ§ κΈ°λ€λ¦° ν κ³μ μ§ννλλ‘ λ³΄μ₯ν©λλ€.- μ¬μ©μκ° μμμ μ ννλ©΄ Promiseκ° 16μ§μ νμμΌλ‘ νμλλ
sRGBHex
μμ±μ ν¬ν¨νλ κ°μ²΄λ‘ ν΄κ²°λ©λλ€. - μ¬μ©μκ° μμ
μ μ·¨μνλ©΄ Promiseκ° κ±°λΆλκ³
catch
λΈλ‘μμ μ€λ₯λ₯Ό μ²λ¦¬ν©λλ€.
λΈλΌμ°μ νΈνμ±
λΈλΌμ°μ νΈνμ±μ λͺ¨λ μΉ APIμ λν μ€μν κ³ λ € μ¬νμ λλ€. Eye Dropper APIλ νμ¬ λ€μμ ν¬ν¨ν λλΆλΆμ μ΅μ λΈλΌμ°μ μμ μ§μλ©λλ€.
- Google Chrome (λ²μ 95 μ΄μ)
- Microsoft Edge (λ²μ 95 μ΄μ)
- Safari (λ²μ 14.1 μ΄μ)
- Brave (λ²μ 95 μ΄μ)
Firefoxλ νμ¬ κΈ°λ³Έμ μΌλ‘ Eye Dropper APIλ₯Ό μ§μνμ§ μμ΅λλ€. κ·Έλ¬λ ν΄λ¦¬νμ μ¬μ©νμ¬ λ€μ΄ν°λΈ μ§μμ΄ λΆμ‘±ν λΈλΌμ°μ μμ μ μ¬ν κΈ°λ₯μ μ 곡ν μ μμ΅λλ€. ν΄λ¦¬νμ μ΄μ λΈλΌμ°μ μμ μ΅μ APIμ κΈ°λ₯μ μ 곡νλ JavaScript μ½λ μ‘°κ°μ λλ€.
ꡬν κ³ λ € μ¬ν
Eye Dropper APIλ₯Ό ꡬνν λ λ€μ λͺ¨λ² μ¬λ‘λ₯Ό κ³ λ €νμμμ€.
- κΈ°λ₯ κ°μ§: μ¬μ©νκΈ° μ μ νμ μ¬μ©μ λΈλΌμ°μ μμ Eye Dropper APIλ₯Ό μ§μνλμ§ νμΈνμμμ€. μ΄λ λ€μ μ½λλ‘ μνν μ μμ΅λλ€.
if ('EyeDropper' in window) {
// Eye Dropper APIκ° μ§μλ©λλ€.
} else {
// Eye Dropper APIκ° μ§μλμ§ μμ΅λλ€.
// κΈ°μ‘΄ μμ μ νκΈ°μ κ°μ λ체 λ©μ»€λμ¦μ μ 곡νμΈμ.
}
- μ€λ₯ μ²λ¦¬: μ¬μ©μκ° μμ
μ μ·¨μνκ±°λ μ€λ₯κ° λ°μνλ μν©μ μ°μνκ² μ²λ¦¬νκΈ° μν΄ κ°λ ₯ν μ€λ₯ μ²λ¦¬λ₯Ό ꡬννμμμ€. μ μμ μ
try...catch
λΈλ‘μ μ¬μ©μ μ·¨μλ₯Ό μ²λ¦¬νλ λ°©λ²μ 보μ¬μ€λλ€. - μ¬μ©μ κ²½ν: μ¬μ©μμκ² Eye Dropper λꡬλ₯Ό μ¬μ©νλ λ°©λ²μ λν λͺ ννκ³ μ§κ΄μ μΈ μ§μΉ¨μ μ 곡νμμμ€. λκ΅¬κ° νμ± μνμ΄κ³ μμ μνλ§μ μν΄ μ€λΉλμμμ λνλ΄λ μκ°μ λ¨μλ₯Ό μΆκ°νλ κ²μ κ³ λ €νμμμ€.
- μ κ·Όμ±: Eye Dropper λꡬλ₯Ό μ₯μ κ° μλ μ¬μ©μμκ² μ κ·Ό κ°λ₯νλλ‘ νμμμ€. ν€λ³΄λ νμ λ° μ€ν¬λ¦° 리λ μ§μμ μ 곡νμμμ€. μλ₯Ό λ€μ΄, μμ΄ λλ‘νΌ κΈ°λ₯ νΈλ¦¬κ±° λ²νΌμ΄λ λ§ν¬μ ν΄λΉ λͺ©μ μ μ€λͺ νλ μ¬λ°λ₯Έ ARIA μμ±μ΄ μλμ§ νμΈνμμμ€.
- 보μ: μΉ μ ν리μΌμ΄μ μ΄ νλ©΄ μ΄λμμλ μμμ μνλ§νλλ‘ νμ©νλ κ²μ 보μ μν₯μ μΈμνμμμ€. APIκ° μ± μκ° μκ² μ¬μ©λκ³ μ¬μ©μ λ°μ΄ν°κ° 보νΈλλλ‘ νμμμ€. APIλ λΈλΌμ°μ μμ μ 곡νλ―λ‘ λ³΄μ λ¬Έμ λ μΌλ°μ μΌλ‘ λΈλΌμ°μ μμ€μμ μ²λ¦¬λ©λλ€.
- ν¬λ‘μ€ λλ©μΈ κ³ λ € μ¬ν: Eye Dropper APIλ λμΌ μΆμ² μ μ± μ μ μ©μ λ°μ΅λλ€. μ΄λ μ ν리μΌμ΄μ μ΄ ν λλ©μΈμμ μ€νλλ κ²½μ° λ€λ₯Έ λλ©μΈμ΄ CORS(Cross-Origin Resource Sharing) ν€λλ₯Ό ν΅ν΄ λͺ μμ μΌλ‘ νμ©νμ§ μλ ν λ€λ₯Έ λλ©μΈμ μμμ μ§μ μ‘μΈμ€ν μ μμμ μλ―Έν©λλ€. μ΄λ μ¬μ©μμ μ»΄ν¨ν°μ μλ μ ν리μΌμ΄μ μμ μμμ μνλ§νλ λ°λ λ κ΄λ ¨μ΄ μμ§λ§, μμ μ νμ΄ λ€λ₯Έ μΉμ¬μ΄νΈμ μμμ μμ‘΄νλ κ²½μ° μ€μν©λλ€.
μ€μ μμ λ° μ¬μ© μ¬λ‘
μ€μ μ ν리μΌμ΄μ μμ Eye Dropper APIλ₯Ό μ¬μ©νλ λ°©λ²μ λν λͺ κ°μ§ μ€μ μμ λ° μ¬μ© μ¬λ‘λ λ€μκ³Ό κ°μ΅λλ€.
1. μμ ν λ§ μ¬μ©μ μ μ
μ¬μ©μκ° μμ ν λ§λ₯Ό μ¬μ©μ μ μν μ μλ μΉ μ ν리μΌμ΄μ μ μμν΄ λ³΄μΈμ. Eye Dropper APIλ₯Ό μ¬μ©νλ©΄ μ¬μ©μκ° λ°μ€ν¬ν± λ°°κ²½, μ’μνλ μ΄λ―Έμ§ λλ κΈ°ν μμ€μμ μ½κ² μμμ μ ννμ¬ μ ν리μΌμ΄μ μ λͺ¨μμ κ°μΈνν μ μμ΅λλ€.
μ: μμ°μ± μ ν리μΌμ΄μ μ μ¬μ©μκ° μ΄μ 체μ μ μμ 체κ³μ μΌμΉνλλ‘ ν λ§λ₯Ό μ‘°μ νμ¬ λμ± λ§€λλ½κ³ ν΅ν©λ μ¬μ©μ κ²½νμ λ§λ€ μ μμ΅λλ€.
2. μΉ κΈ°λ° μ΄λ―Έμ§ νΈμ§κΈ°
Eye Dropper APIλ μΉ κΈ°λ° μ΄λ―Έμ§ νΈμ§κΈ°μ ν΅ν©λμ΄ μ¬μ©μμκ² μ΄λ―Έμ§μμ μμμ μνλ§νλ νΈλ¦¬ν λ°©λ²μ μ 곡ν μ μμ΅λλ€. μ΄λ νΉν λ€μκ³Ό κ°μ μμ μ μ μ©ν©λλ€.
- 리ν°μΉ: ν μ§μ΄λ κ²°ν¨μ μ κ±°ν λ κΈ°μ‘΄ ν½μ κ³Ό μννκ² νΌν©λλ μμμ μ νν©λλ€.
- μμ 보μ : μ΄λ―Έμ§μ λ€λ₯Έ μμμμ μμμ μνλ§νμ¬ μ 체 μμ κ· νμ μ‘°μ ν©λλ€.
- νλ νΈ μμ±: λμμΈ νλ‘μ νΈμ μμμ μΌλ‘ μ¬μ©ν μ΄λ―Έμ§λ₯Ό μΆμΆν μμ νλ νΈμ λλ€.
μ: μ¨λΌμΈ μ¬μ§ νΈμ§κΈ°λ Eye Dropper APIλ₯Ό μ¬μ©νμ¬ μ¬μ©μκ° μ°Έμ‘° μ΄λ―Έμ§μμ μμμ μνλ§νμ¬ λμΌν μμ 체κ³λ₯Ό μμ μ μ¬μ§μ μ μ©ν μ μλλ‘ ν μ μμ΅λλ€.
3. μ κ·Όμ± λꡬ
μΉ μ ν리μΌμ΄μ μ΄ μ₯μ κ° μλ μ¬μ©μμκ² μ κ·Ό κ°λ₯νλλ‘ λ³΄μ₯νλ κ²μ΄ μ€μν©λλ€. Eye Dropper APIλ κ°λ°μκ° νΉμ λλΉ μꡬ μ¬νμ μΆ©μ‘±νλ μμμ μ ννλ λ° λμμ΄ λλ μ κ·Όμ± λꡬλ₯Ό λ§λλ λ° μ¬μ©λ μ μμ΅λλ€.
μ: μΉ μ κ·Όμ± κ²μ¬κΈ°λ Eye Dropper APIλ₯Ό μ¬μ©νμ¬ κ°λ°μκ° μ κ²½ λ° λ°°κ²½ μμμ μ νν λ€μ λλΉ λΉμ¨μ κ³μ°νμ¬ WCAG μ§μΉ¨μ μΆ©μ‘±νλμ§ νμΈν μ μλλ‘ ν μ μμ΅λλ€. μ΄λ¬ν μ§μΉ¨μ μΈκ³μ μΌλ‘ μΈμ λμ΄ μ΄ μ ν리μΌμ΄μ μ λ€μν μ μ¬ κ³ κ°μκ² κ΄λ ¨μ± μκ² λ§λλλ€.
4. λμμΈ νμ νλ«νΌ
νμ λμμΈ μν¬νλ‘μ°μμ μμ μ¬μ©μ μΌκ΄μ±μ μ μ§νλ κ²μ΄ νμμ μ λλ€. Eye Dropper APIλ λμμΈ νμ νλ«νΌμ ν΅ν©λμ΄ λμμ΄λκ° λ€λ₯Έ νλ‘μ νΈμμ μμμ μ½κ² 곡μ νκ³ μ¬μ¬μ©ν μ μλλ‘ ν μ μμ΅λλ€.
μ: λμμΈ νμ νλ«νΌμ λμμ΄λκ° κ³΅μ μμ νλ νΈλ₯Ό λ§λ€κ³ Eye Dropper APIλ₯Ό μ¬μ©νμ¬ λ€λ₯Έ λμμΈ μμ°μμ μμ ν λ νλ νΈμμ μμμ λΉ λ₯΄κ² μ νν μ μλλ‘ ν μ μμ΅λλ€.
5. λ°μ΄ν° μκ°ν λꡬ
λ°μ΄ν° μκ°ν λꡬλ μ’ μ’ λ€λ₯Έ λ°μ΄ν° ν¬μΈνΈλ₯Ό λνλ΄κΈ° μν΄ μμμ μμ‘΄ν©λλ€. Eye Dropper APIλ μκ°μ μΌλ‘ λ§€λ ₯μ μ΄κ³ μ μ΅ν μμμ μ ννλ λ° μ¬μ©λ μ μμΌλ©°, μ¬μ©μκ° νμλλ λ°μ΄ν°λ₯Ό λ μ μ΄ν΄νλ λ° λμμ΄ λ©λλ€.
μ: μ°¨νΈ λΌμ΄λΈλ¬λ¦¬λ μ¬μ©μκ° Eye Dropper APIλ₯Ό μ¬μ©νμ¬ κ° λ°μ΄ν° μ리μ¦μ λν μ¬μ©μ μ μ μμμ μ νν μ μλλ‘ νμ¬ λμ± μκ°μ μΌλ‘ λ§€λ ₯μ μ΄κ³ μ μ΅ν μ°¨νΈλ₯Ό λ§λ€ μ μλλ‘ ν©λλ€.
κΈ°λ³Έ κ·Έ μ΄μ: κ³ κΈ κΈ°μ
Eye Dropper APIμ κΈ°λ³Έ μ¬μ©μ κ°λ¨νμ§λ§, κΈ°λ₯μ ν₯μνκ³ μ¬μ©μ κ²½νμ κ°μ νλ λ° μ¬μ©ν μ μλ λͺ κ°μ§ κ³ κΈ κΈ°μ μ΄ μμ΅λλ€.
1. μ¬μ©μ μ§μ μμ μ νκΈ° μΈν°νμ΄μ€ λ§λ€κΈ°
μμ€ν μ κΈ°λ³Έ μμ μ νκΈ°μλ§ μμ‘΄νλ λμ μΉ μ ν리μΌμ΄μ κ³Ό μννκ² ν΅ν©λλ μ¬μ©μ μ§μ μμ μ νκΈ° μΈν°νμ΄μ€λ₯Ό λ§λ€ μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ λμ± λ§μΆ€νλκ³ μ¬μ©μ μΉνμ μΈ κ²½νμ μ 곡ν μ μμ΅λλ€.
ꡬν: HTML, CSS λ° JavaScriptλ₯Ό μ¬μ©νμ¬ μμ 견본, μμν λ° 16μ§μ λλ RGB κ°μ μ λ ₯νκΈ° μν μ λ ₯ νλμ κ°μ κΈ°λ₯μ ν¬ν¨νλ μ¬μ©μ μ§μ μμ μ νκΈ° μΈν°νμ΄μ€λ₯Ό λ§λ€ μ μμ΅λλ€. κ·Έλ° λ€μ Eye Dropper APIλ₯Ό μ¬μ©νμ¬ μ΄ μ¬μ©μ μ§μ μΈν°νμ΄μ€μμ μμμ μνλ§ν μ μμ΅λλ€.
2. μμ κΈ°λ‘ κ΅¬ν
μμ κΈ°λ‘μ μμμ μμ£Ό λ€μ μ¬μ©ν΄μΌ νλ μ¬μ©μμκ² μ μ©ν κΈ°λ₯μ΄ λ μ μμ΅λλ€. μ¬μ©μκ° μ΄μ μ μ νν μμμ μ μ₯νλ©΄ μ νΈνλ μμμ λΉ λ₯΄κ² μ‘μΈμ€ν μ μμ΅λλ€.
ꡬν: λ‘컬 μ€ν λ¦¬μ§ λλ μλ² μΈ‘ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬μ©νμ¬ μ¬μ©μ μμ κΈ°λ‘μ μ μ₯ν μ μμ΅λλ€. μ¬μ©μκ° Eye Dropper λꡬλ₯Ό μ΄ λ μμ κΈ°λ‘μ νμνκ³ λͺ©λ‘μμ μμμ μ½κ² μ νν μ μλλ‘ ν μ μμ΅λλ€.
3. μμ κ΄λ¦¬ μμ€ν κ³Ό ν΅ν©
μ λ¬Έμ μΈ λμμΈ μν¬νλ‘μ°μ κ²½μ° μμ κ΄λ¦¬ μμ€ν (CMS)κ³Όμ ν΅ν©μ΄ νμμ μ λλ€. CMSλ μμμ΄ λ€λ₯Έ μ₯μΉ λ° νλ«νΌμμ μΌκ΄λκ² νμλλλ‘ λ³΄μ₯ν©λλ€.
ꡬν: Eye Dropper APIλ sRGB μ 곡κ°μμ μμμ λ°νν©λλ€. CMSμ ν΅ν©νλ €λ©΄ sRGB μμμ Adobe RGB λλ ProPhoto RGBμ κ°μ λ€λ₯Έ μ 곡κ°μΌλ‘ λ³νν΄μΌ ν μ μμ΅λλ€. Color.jsμ κ°μ λΌμ΄λΈλ¬λ¦¬λ JavaScriptμμ μ΄ μμ μ μννλ κΈ°λ₯μ μ 곡ν©λλ€.
4. ν¬λͺ λ μ²λ¦¬
Eye Dropper APIλ 16μ§μ νμμΌλ‘ μμμ λ°ννμ§λ§, μ΄λ ν¬λͺ λλ₯Ό μ§μνμ§ μμ΅λλ€. ν¬λͺ λλ₯Ό μ²λ¦¬ν΄μΌ νλ κ²½μ° Canvas APIλ₯Ό μ¬μ©νμ¬ μ νν ν½μ μ RGBA κ°μ μΆμΆν μ μμ΅λλ€.
ꡬν: μ€νμ€ν¬λ¦° μΊλ²μ€ μμλ₯Ό λ§λ€κ³ μνλ§λ ν½μ
μ£Όλ³ μμμ μΊλ²μ€μ 그립λλ€. κ·Έλ° λ€μ getImageData()
λ©μλλ₯Ό μ¬μ©νμ¬ ν½μ
μ RGBA κ°μ μΆμΆν μ μμ΅λλ€. μ¬μ©μκ° νλ©΄μμ μ ννλ μ’νλ₯Ό μΊλ²μ€μ μ’νλ‘ λ³νν΄μΌ ν¨μ λͺ
μ¬νμμμ€.
5. κ³ DPI λμ€νλ μ΄ μμ
κ³ DPI λμ€νλ μ΄μμλ νμ€ λμ€νλ μ΄λ³΄λ€ ν½μ λ°λκ° λμ΅λλ€. μ΄λ Eye Dropper APIμ μ νμ±μ μν₯μ μ€ μ μμ΅λλ€. μ΄λ₯Ό 보μ νλ €λ©΄ μνλ§λ ν½μ μ μ’νλ₯Ό μ‘°μ ν΄μΌ ν μ μμ΅λλ€.
ꡬν: window.devicePixelRatio
μμ±μ μ¬μ©νμ¬ λμ€νλ μ΄μ ν½μ
λ°λλ₯Ό κ²°μ ν μ μμ΅λλ€. κ·Έλ° λ€μ μνλ§λ ν½μ
μ μ’νμ μ₯μΉ ν½μ
λΉμ¨μ κ³±νμ¬ κ³ DPI λμ€νλ μ΄μ μ¬λ°λ₯Έ μ’νλ₯Ό μ»μ μ μμ΅λλ€.
μΌλ°μ μΈ λ¬Έμ ν΄κ²°
Eye Dropper APIλ κ°λ ₯ν λꡬμ΄μ§λ§ κ°λ°μκ° μ¬μ©ν λ λ°μν μ μλ λͺ κ°μ§ μΌλ°μ μΈ λ¬Έμ κ° μμ΅λλ€.
1. λΈλΌμ°μ κ° νΈνμ± λ¬Έμ
μμ μΈκΈνλ―μ΄ Eye Dropper APIλ μμ§ λͺ¨λ λΈλΌμ°μ μμ μ§μλμ§λ μμ΅λλ€. μ΄λ₯Ό ν΄κ²°νλ €λ©΄ ν΄λ¦¬νμ μ¬μ©νκ±°λ λ€μ΄ν°λΈ μ§μμ΄ λΆμ‘±ν λΈλΌμ°μ μ λν λ체 λ©μ»€λμ¦μ μ 곡ν μ μμ΅λλ€.
2. 보μ μ ν
Eye Dropper APIλ λμΌ μΆμ² μ μ± κ³Ό κ°μ 보μ μ νμ μ μ©μ λ°μ΅λλ€. μ΄λ λ€λ₯Έ λλ©μΈμμ μμμ μνλ§νλ κΈ°λ₯μ μ νν μ μμ΅λλ€. μ΄λ₯Ό 극볡νλ €λ©΄ CORS λλ κΈ°ν κΈ°μ μ μ¬μ©νμ¬ λ³΄μ μ νμ μ°νν΄μΌ ν μ μμ΅λλ€.
3. μ±λ₯ κ³ λ € μ¬ν
νλ©΄μμ μμμ μνλ§νλ κ²μ μ±λ₯ μ§μ½μ μΈ μμ μΌ μ μμ΅λλ€. μ±λ₯ λ¬Έμ λ₯Ό νΌνλ €λ©΄ μ½λλ₯Ό μ΅μ ννκ³ λΆνμν μμ μνλ§μ νΌνλ κ²μ΄ μ€μν©λλ€.
4. μ¬μ©μ κ°μΈ μ 보 λ³΄νΈ λ¬Έμ
μΌλΆ μ¬μ©μλ μΉ μ ν리μΌμ΄μ μ΄ νλ©΄μμ μμμ μνλ§νλλ‘ νμ©νλ κ²μ κ°μΈ μ 보 λ³΄νΈ μν₯μ μ°λ €ν μ μμ΅λλ€. μ΄λ₯Ό ν΄κ²°νλ €λ©΄ Eye Dropper APIκ° μ¬μ©λλ λ°©μμ λν΄ ν¬λͺ νκ² νκ³ μ¬μ©μμκ² κ°μΈ μ 보 μ€μ μ μ μ΄ν μ μλ κΆνμ μ 곡νλ κ²μ΄ μ€μν©λλ€.
μΉμμμ μμ μνλ§μ λ―Έλ
Eye Dropper APIλ μΉμμμ μμ μνλ§ μ§νμ μμ΄ μ€μν λ°μ μ λνλ λλ€. APIμ λν λΈλΌμ°μ μ§μμ΄ κ³μ μ¦κ°ν¨μ λ°λΌ μΉ κ°λ°μ λ° λμμ΄λμκ² μ μ λ μ€μν λκ΅¬κ° λ κ°λ₯μ±μ΄ λμ΅λλ€. λ―Έλμλ λ€μκ³Ό κ°μ APIμ μΆκ° κ°μ μ κΈ°λν μ μμ΅λλ€.
- λ λ§μ μμ κ³΅κ° μ§μ: APIλ Adobe RGB λ° ProPhoto RGBμ κ°μ λ€λ₯Έ μμ 곡κ°μ μ§μνλλ‘ νμ₯λ μ μμ΅λλ€.
- ν₯μλ μ±λ₯: API μ±λ₯μ μμ μνλ§ μ€λ²ν€λλ₯Ό μ€μ΄κΈ° μν΄ λμ± μ΅μ νλ μ μμ΅λλ€.
- ν₯μλ 보μ: μ¬μ©μ κ°μΈ μ 보λ₯Ό 보νΈνκΈ° μν΄ μΆκ° 보μ μ‘°μΉκ° ꡬνλ μ μμ΅λλ€.
λν AI λ° λ¨Έμ λ¬λμ ν΅ν©μ μ΄λ―Έμ§ λ΄μ© λλ μ¬μ©μμ κΈ°λ³Έ μ€μ μ κΈ°λ°μΌλ‘ μμ νλ νΈλ₯Ό μλμΌλ‘ μ μν μ μλ λ μ§λ₯μ μΈ μμ μνλ§ λκ΅¬λ‘ μ΄μ΄μ§ μ μμ΅λλ€. μ΄λ λμμ΄λκ° μμμ λ€λ£¨λ λ°©μμ νμ νκ³ μκ°μ μΌλ‘ λ§€λ ₯μ μ΄κ³ λ§€λ ₯μ μΈ μΉ μ ν리μΌμ΄μ μ λ μ½κ² λ§λ€ μ μμ΅λλ€.
κ²°λ‘
Eye Dropper APIλ μΉ μ ν리μΌμ΄μ μ μμ μνλ§ κΈ°λ₯μ ν¬κ² ν₯μμν¬ μ μλ κ°λ ₯νκ³ λ€μ¬λ€λ₯ν λꡬμ λλ€. νλ©΄ μ΄λμμλ μμμ μνλ§ν μ μλ νμ€νλκ³ μμ ν λ°©λ²μ μ 곡ν¨μΌλ‘μ¨ APIλ λμμ΄λμ κ°λ°μμκ² λ¬΄νν κ°λ₯μ±μ μ΄μ΄μ€λλ€. APIμ λν λΈλΌμ°μ μ§μμ΄ κ³μ μ¦κ°ν¨μ λ°λΌ λ€μν νλ«νΌ λ° μ§μμ κ±Έμ³ μκ°μ μΌλ‘ λ§€λ ₯μ μ΄κ³ μ κ·Ό κ°λ₯νλ©° μΌκ΄λ μ¬μ©μ μΈν°νμ΄μ€λ₯Ό λ§λλ λ° νμμ μΈ λκ΅¬κ° λ κ°λ₯μ±μ΄ λμ΅λλ€. μ΄ ν¬κ΄μ μΈ κ°μ΄λλ μ μΈκ³ κ°λ°μκ° κΈ°λ₯μ νμ©νμ¬ νμν μ¬μ©μ κ²½νμ λ§λ€ μ μλλ‘ νμ¬ κΈλ‘λ² μ¬μ©μλ₯Ό μν Eye Dropper APIλ₯Ό μ΄ν΄, ꡬν λ° νμ©νλ λ° λν κΈ°λ°μ μ 곡ν©λλ€.