ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • λž˜μŠ€ν„° 이미지와 λΉ„νŠΈλ§΅ 그리고 벑터 이미지
    General/🟒 General 2021. 6. 30. 12:51

    μ•ˆλ…•ν•˜μ„Έμš”πŸΆ

     

    이번 μ‹œκ°„μ—λŠ” λž˜μŠ€ν„° 이미지와 λΉ„νŠΈλ§΅, 그리고 벑터 이미지에 λŒ€ν•΄ κ°„λ‹¨ν•˜κ²Œ μ•Œμ•„λ³΄λ €κ³  ν•©λ‹ˆλ‹€.

     

    μ €λŠ” 개발자이기 λ•Œλ¬Έμ— 원리와 μž₯단점 μœ„μ£Όλ‘œ μ΄ν•΄ν•˜κ³ ,  

    XCode μ—μ„œλŠ” 무엇을 μ‚¬μš©ν•˜λŠ”κ²Œ λ‚˜μ„μ§€ νŒλ‹¨ν•˜κΈ° μœ„ν•΄μ„œ κ³΅λΆ€ν–ˆμ–΄μš”.

     

    κΈ€μ—μ„œ μ£Όμ œμ™€ κ΄€λ ¨λœ ν‚€μ›Œλ“œκ°€ λ‚˜μ˜€λ‹ˆ μžμ„Έν•œ λ‚΄μš©μ€ λ”°λ‘œ 검색을 ν•΄λ³΄μ‹œλŠ” 것도 쒋을 것 κ°™μŠ΅λ‹ˆλ‹€.

     

    그럼 μ‹œμž‘ν• κ²Œμš”!!πŸ”₯


     

    3쀄 μš”μ•½

    1. λž˜μŠ€ν„°, λΉ„νŠΈλ§΅μ€ 점으둜 이미지λ₯Ό ν‘œν˜„, κ³ μ • 해상도을 가지고 μžˆλ‹€

    2. λ²‘ν„°λŠ” 점, μ„ , 면을 μˆ˜ν•™κ³΅μ‹μœΌλ‘œ ν‘œν˜„ν•΄μ„œ ν‘œν˜„, ν•΄μƒλ„λ‘œλΆ€ν„° μžμœ λ‘­λ‹€

    3. 상황에 맞게 μ‚¬μš©ν•΄μ•Ό ν•œλ‹€


     

    λž˜μŠ€ν„° 이미지

    λž˜μŠ€ν„° μ΄λ―Έμ§€λŠ” 인쇄와 κ΄€λ ¨λœ μš©μ–΄ μ΄κ³ , λΉ„νŠΈλ§΅ 이미지와 μœ μ‚¬ν•œ 의미λ₯Ό 가지고 μžˆμŠ΅λ‹ˆλ‹€.

     

    μž‘μ€ 점을 무수히 μ—¬λŸ¬ 번 찍어 λ§Œλ“€μ–΄λ‚Έ 이미지λ₯Ό κ°€λ¦¬ν‚΅λ‹ˆλ‹€.

     

    μ„ κ³Ό 면으둜 μ±„μš°λŠ” λŒ€μ‹  점을 μ‚¬μš©ν•˜λŠ” μ΄μœ λŠ” 적은 물감으둜 μ΅œλŒ€ν•œ 완성도 높은 이미지λ₯Ό ν‘œν˜„ν•˜κΈ° μœ„ν•¨μ΄λΌκ³  ν•©λ‹ˆλ‹€.

     

    좜처: μœ„ν‚€λ°±κ³Ό

     

    λž˜μŠ€ν„° μ΄λ―Έμ§€μ—λŠ” ν•΄μƒλ„μ˜ κ°œλ…μ΄ λ“€μ–΄κ°‘λ‹ˆλ‹€.

     

    ν•˜λ‚˜μ˜ 점은 λ‹·(dot) μ΄λΌλŠ” μš©μ–΄λ‘œ ν‘œν˜„ν•©λ‹ˆλ‹€.


     

    λΉ„νŠΈλ§΅ 이미지

    μΈμ‡„μ—μ„œ μ‚¬μš©ν•˜λ˜ λž˜μŠ€ν„°μ˜ κ°œλ…μ΄ 디지털 ν™”λ©΄μœΌλ‘œ λ„˜μ–΄μ˜¨ κ²ƒμž…λ‹ˆλ‹€.

     

    λ””μ§€ν„Έμ—μ„œλŠ” ν•˜λ‚˜μ˜ 점은 ν”½μ…€ (pixel) μ΄λΌλŠ” μš©μ–΄λ‘œ ν‘œν˜„ν•©λ‹ˆλ‹€.

     

    μ—¬κΈ°μ„œ κΆκΈˆν•΄μ§€λŠ” 것이, μ• ν”Œμ—μ„œλŠ” 포인트(point) λΌλŠ” κ°œλ…λ„ μžˆλ‹¨λ§μ΄μ£ ...??

    이 뢀뢄은 λ”°λ‘œ 곡뢀해봐야 ν•  것 κ°™μŠ΅λ‹ˆλ‹€.....😒

     

    λΉ„νŠΈλ§΅μ€ 각 픽셀에 μ €μž₯된 λΉ„νŠΈ μ •λ³΄λ“€μ˜ 집합이라고 보면 λ©λ‹ˆλ‹€.

     

    픽셀은 λ‹€μ‹œ RGB의 μ„œλΈŒν”½μ…€λ‘œ 이루어져 μžˆλ‹€κ³  ν•©λ‹ˆλ‹€.

     

    이 RGB 의 각각의 λΉ„νŠΈμ˜ μ‘°ν•©μœΌλ‘œ ν•˜λ‚˜μ˜ 색이 κ²°μ •λ©λ‹ˆλ‹€.

     

    https://spoqa.github.io/2012/06/13/bitmap-vector.html

     

    λͺ¨λ‹ˆν„°λ„ 쒅이와 같이 ν”½μ…€μ˜ λ°°μ—΄λ‘œ κ΅¬μ„±λ˜μ–΄ 해상도λ₯Ό 가지고 μžˆμŠ΅λ‹ˆλ‹€.

     

    예λ₯Ό λ“€μ–΄ 제 λͺ¨λ‹ˆν„°μ˜ ν¬κΈ°λŠ” 3,440 x 1,440 (WQHD) 해상도λ₯Ό 가지고 μžˆλŠ”λ°,

    34인치 λͺ¨λ‹ˆν„°μ˜ 화면을 4,953,600 개의 ν”½μ…€λ‘œ ν‘œν˜„ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

     

    μΆ”κ°€μ μœΌλ‘œ PPI (Pixel Per Inch) λŠ”

    1μ œκ³±μΈμΉ˜μ— ν•΄λ‹Ήν•˜λŠ” 곡간을 λͺ‡ 개의 ν”½μ…€λ‘œ ν‘œν˜„ν• μ§€ λ‚˜νƒ€λ‚΄λŠ” ν™”λ©΄ 밀도λ₯Ό κ°€λ¦¬ν‚€λŠ” μš©μ–΄μž…λ‹ˆλ‹€.

     

    예λ₯Ό λ“€μ–΄ 720 PPIλŠ” 1제곱인치의 곡간을 720개의 ν”½μ…€μœΌλ‘œ ν‘œν˜„ν•œ 것이고, 600 PPI λŠ” 600개의 ν”½μ…€λ‘œ ν‘œν˜„ν•œ κ²ƒμž…λ‹ˆλ‹€.

     

    주어진 ν•΄μƒλ„μ˜ 픽셀듀을 μ–΄λ–€ μƒ‰μœΌλ‘œ μ±„μ›Œλ„£μ„μ§€μ— 따라 λ‹€λ₯Έ κ²°κ³Όκ°€ λ‚˜μ˜΅λ‹ˆλ‹€.

     

    λ„νŠΈ κ·Έλž˜ν”½μ€ λΉ„νŠΈλ§΅ μ΄λ―Έμ§€μ˜ 쒋은 예 μž…λ‹ˆλ‹€.

     

    https://m.inven.co.kr/webzine/wznews.php?idx=138464


     

    λž˜μŠ€ν„°/ λΉ„νŠΈλ§΅ μ΄λ―Έμ§€μ˜ μž₯단점

    μž₯μ πŸ‘πŸ»

    κ·Έλž˜ν”½ 이미지 λ³΄λ‹€λŠ” 사진을 ν‘œν˜„ν•˜λŠ”λ° 더 νš¨μœ¨μ μž…λ‹ˆλ‹€.

     

    보톡 μ œν•œλœ 정보λ₯Ό 가지고 정보λ₯Ό μ••μΆ•ν•˜μ—¬ ν‘œν˜„ν•˜κΈ° λ•Œλ¬Έμ— μš©λŸ‰μ—μ„œμ˜ 이점이 μžˆμŠ΅λ‹ˆλ‹€.

    μ••μΆ•λ₯ κ³Ό 이미지 퀄리티 보쑴의 μ‘°μœ¨μ€ λ””μžμ΄λ„ˆμ˜ λͺ«

     

    μ›Ήμ‚¬μ΄νŠΈλ₯Ό μ œμž‘ν•  λ•Œ, 이미지 ν•˜λ‚˜μ˜ μš©λŸ‰μ€ λ‘œλ”©μ†λ„μ— 큰 영ν–₯을 μ£ΌκΈ° λ•Œλ¬Έμ— μœ„ 사싀은 μ€‘μš”ν•©λ‹ˆλ‹€.

     

    μ•± μ„€μΉ˜ μ‹œκ°„λ„ μ‚¬μš©μž κ²½ν—˜μ— μ€‘μš”ν•œ μš”μ†Œμ΄λ―€λ‘œ, μ•± λ¦¬μ†ŒμŠ€λ‘œ 큰 이미지λ₯Ό ν¬ν•¨ν• λ•ŒλŠ”  κ³ λ €ν•΄μ•Όν•  점이 μžˆμŠ΅λ‹ˆλ‹€.

     

    그리고 μŠ€νμ–΄ λͺ¨ν”Όμ¦˜μ˜ μ‹œλŒ€μ—λŠ” λΉ„νŠΈλ§΅μ΄ λŒ€μ„Έμ˜€λ‹€κ³  ν•©λ‹ˆλ‹€.

    :: #μŠ€νμ–΄λͺ¨ν”Όμ¦˜ #ν”Œλž«λ””μžμΈ #λ¨Έν„°λ¦¬μ–Όλ””μžμΈ #뉴λͺ¨ν”Όμ¦˜

    :: κ΄€λ ¨ ν‚€μ›Œλ“œλ“€μ€ κΆκΈˆν•˜λ©΄ κ²€μƒ‰ν•΄λ³΄μ„Έμš”!

    https://namu.wiki/w/μŠ€νμ–΄λͺ¨ν”Όμ¦˜

     

    λ‹¨μ πŸ‘ŽπŸ»

    λΉ„νŠΈλ§΅ μ΄λ―Έμ§€λŠ”  ν•­μƒ ν•΄μƒλ„μ˜ 영ν–₯을 λ°›μŠ΅λ‹ˆλ‹€.

     

    해상도가 κ³ μ •λ˜μ–΄ 있기 λ•Œλ¬Έμ—, ν™•λŒ€ν•˜λ©΄ 이미지 퀄리티에 큰 훼손이 κ°‘λ‹ˆλ‹€.

     

    λ˜ν•œ μΆ•μ†Œλ‚˜ νšŒμ „ λ“±μ˜ λ³€ν˜„ μ‹œμ—λ„ μ•ˆν‹°-앨리어싱 μž‘μ—…μ΄ μ€‘λ³΅λ˜μ–΄ μ—­μ‹œ 퀄리티에 손상이 κ°„λ‹€κ³  ν•©λ‹ˆλ‹€.

     

    λ”°λΌμ„œ 이미 λ§Œλ“€μ–΄μ§„ λΉ„νŠΈλ§΅ 이미지λ₯Ό μž¬νŽΈμ§‘ ν•˜λŠ” 것은 ν•œκ³„κ°€ μžˆμŠ΅λ‹ˆλ‹€.

     

    TMI 둜 μ›Ήμ‚¬μ΄νŠΈ 등을 ν†΅ν•΄μ„œ μ €μž₯ν•œ μ΄λ―Έμ§€λŠ” λ‹€μ‹œ ν•œλ²ˆ 압좕이 되기 λ•Œλ¬Έμ—,

    μ—…λ‘œλ“œμ™€ μ €μž₯을 μ—¬λŸ¬ 번 λ°˜λ³΅ν•  경우 '디지털 풍화'라고 λΆˆλ¦¬λŠ” ν˜„μƒμ„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

     

     

    ν™”μ§ˆκ΅¬μ§€

     


     

    벑터 이미지

    λΉ„νŠΈλ§΅ 방식은 λΉ„νŠΈ 즉 점으둜만 이미지λ₯Ό ν‘œν˜„ν•œλ‹€λ©΄, λ²‘ν„°λŠ” 점 μ„  면으둜 이미지λ₯Ό κ΅¬μ„±ν•©λ‹ˆλ‹€.

     

    λ˜ν•œ 각각의 선은 λ‘κ»˜ κ°’, 색상 κ°’, 곑λ₯  값을 κ°€μ§ˆ 수 μžˆλ‹€κ³  ν•©λ‹ˆλ‹€.

     

    그리고 이런 정보λ₯Ό 가지고 μžˆλŠ” κ·Έλž˜ν”½λ“€μ˜ ν˜•νƒœλ₯Ό μˆ˜ν•™μ μΈ κ³΅μ‹μœΌλ‘œ ν‘œν˜„ν•©λ‹ˆλ‹€.

    벑터 방식은 λ”°λΌμ„œ κ³ μ •λœ λΉ„νŠΈλ§΅μ„ 그리지 μ•Šκ³ ,

    μˆ˜ν•™κ³΅μ‹μœΌλ‘œ 이루어진 κ·Έλž˜ν”½λ“€μ΄ 해상도에 따라 κ·Έλ•Œ κ·Έλ•Œ λΉ„νŠΈλ§΅ν™” 되기 λ•Œλ¬Έμ— 항상 μ„ λͺ…ν•œ 이미지λ₯Ό κ·Έλ €λƒ…λ‹ˆλ‹€.

     

    λ˜ν•œ μœ„μ˜ 이유 떄문에 벑터 이미지λ₯Ό μ›ν•˜λŠ” ν•΄μƒλ„μ˜ λΉ„νŠΈλ§΅μœΌλ‘œ export ν•˜λŠ” 것도 항상 κ°€λŠ₯ν•˜λ‹€κ³  ν•©λ‹ˆλ‹€.

     

    μ•„λž˜μ™€ 같은 μŠ€νƒ€μΌμ˜ 이미지λ₯Ό λ§Œλ“€μ–΄λ‚΄κΈ° μ’‹μŠ΅λ‹ˆλ‹€.

     

    κ΅¬κΈ€μ˜ 머터리얼 λ””μžμΈ


     

    Xcode μ—μ„œ μ‚¬μš©ν• μˆ˜ μ—†λŠ” .svg 😑

    벑터 ν˜•μ‹(.svg)이 κ°€λŠ₯ν•˜λ‹€λ©΄ μ‹±κΈ€ μŠ€μΌ€μΌλ‘œ μ‚¬μš©ν•˜λ©΄ λ˜μ„œ νŽΈν•  것 같은데, 직접 μ‚½μž…ν•΄μ„œ μ‚¬μš©ν•˜λŠ” 것은 λΆˆκ°€λŠ₯ν–ˆμŠ΅λ‹ˆλ‹€.

     

    κ΄€λ ¨ λΈ”λ‘œκ·Έμ˜ λ‚΄μš©λ“€λ„ κ·Έλ ‡κ³ , iOS 개발자 ν†‘λ°©μ—μ„œ λ³΄λ‹ˆ 보톡 pdf ν˜•μ‹μœΌλ‘œ λ³€ν™˜ν•΄μ„œ μ‚¬μš©ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

     


     

    벑터 μ΄λ―Έμ§€μ˜ μž₯단점

    μž₯μ πŸ‘πŸ»

    해상도와 관련없이 항상 μ„ λͺ…ν•œ 이미지λ₯Ό 얻을 수 μžˆλ‹€.

     

    λ‹¨μ πŸ‘ŽπŸ»

    λΉ„νŠΈλ§΅λ³΄λ‹€ μƒλŒ€μ μœΌλ‘œ 큰 μš©λŸ‰μ„ 가지고 μžˆλ‹€.

     

    사진과 같은 이미지λ₯Ό ν‘œν˜„ν•˜λŠ”λ°μ—λŠ” λΉ„νŠΈλ§΅λ°©μ‹ 보닀 λΉ„νš¨μœ¨μ μ΄λ‹€.

     

     

     

    끝!


    πŸ€–πŸŸ’[우짱의 iOS λΈ”λ‘œκ·Έ]πŸ”΅πŸ’»

    iOSλ₯Ό κ³΅λΆ€ν•˜λ©΄μ„œ 배운 λ‚΄μš©μ„ κΈ°λ‘ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

     

    μ°Έκ³  1: https://spoqa.github.io/2012/06/13/bitmap-vector.html

    μ°Έκ³  2: http://blog.wishket.com/ν•΄μƒλ„μ˜-이해-λž˜μŠ€ν„°-μ΄λ―Έμ§€λž€/

     

    λŒ“κΈ€

μ–΄μ œλ³΄λ‹€ λ°œμ „ν•œ λ‚˜