• SEARCH

    통합검색
  • GAMEZONE
    • 커뮤니티
      • 공지사항
      • 유저게시판
        • 등업게시판
        • 출석체크
        • 정회원 무료자료실
      • 스크린샷
      • 인증자료실
    • 리니지
      • 게임공략 & 팁
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 메이플스토리
      • 게임공략 & 팁
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 바람의나라
      • 자유게시판
      • 자료게시판
        • 유틸자료실
        • 소스자료실
        • 클라이언트
        • 팩 자료실
      • 연구게시판
        • 개발내역
        • 질문과답변
        • 기타
      • 강의게시판
        • DR
        • CR
        • 구버전
        • 클라이언트 개조
        • 노하우 게시판
        • 게임공략 & 팁
    • 다크에덴
      • 게임공략 & 팁
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 믹스마스터
      • 게임공략 & 팁
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 라그나로크
      • 게임공략 & 팁
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 기타게임
      • 게임공략 & 팁
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 게임강의
    • 비베&포토샵
      • 자유게시판
      • 자료실
        • 일반자료실
        • 포인트 자료실
      • 노하우게시판
      • 포토샵게시판
    • 모바일
      • 게임공략
      • 포인트 자료실
      • 유틸자료실
      • 자유게시판
  • 기타게임 소스자료실
    • 기타게임 소스자료실 기타 ()
    • [Go 공식문서 한국어 정리] ①4①. Go image/draw 패키지

      • 오뉴노노
      • 2026.05.30 - 02:40 195

    Go image/draw 패키지
    https://go.dev/blog/go-imagedraw-package

    image/draw 패키지는 단 하나의 작업만 정의합니다: 소스 이미지를 대상 이미지에 그리는 것입니다. 이때 선택적인 마스크 이미지를 통과할 수 있습니다. 이 하나의 작업으로 다양한 이미지 처리를 우아하게 하고 효율적으로 처리할 수 있습니다.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    ① 서론

    합성(Composition)은 Porter와 Duff의 “Compositing Digital Images” 논문을 기반으로 하며, 마스크 파라미터를 추가한 공식입니다:
    dst = (src IN mask) OP dst
    마스크가 없으면(nil)은 와전히 불투명한 마스크로 간주됩니다.

    ② 핵심 개념

    1. Over 연산자: 소스 이미지를 대상 이미지 위에 자연스럽게 레이어링합니다. 소스의 알파값이 높을수록 대상의 변경이 크죠.
    2. Src 연산자: 대상 이미지의 원래 내용을 무시하고 소스를 그대로 복사합니다. 소스와 마스크가 모두 불투명일 때 Over와 같은 결과를 내지만 더 빠릅니다.
    3. draw.Image 인터페이스: image.Image에 Set(x, y int, c color.Color) 메서드를 추가한 인터페이스로, 변경 가능한 대상 이미지를 나타냅니다.

    ③ 주요 내용 상세

    Draw 함수
    func Draw(dst Image, r image.Rectangle, src image.Image, sp image.Point, op Op)
    - dst: 대상 이미지
    - r: dst에서 그릴 사각형
    - src: 소스 이미지
    - sp: src에서 r.Min에 맞출 위치
    - op: Over 또는 Src

    사각형 채우기
    image.Uniform을 소스로 사용하면 단색으로 사각형을 채울 수 있습니다. image.Transparent은 투명한 사각형(또는 검은)을 채워 초기화할 때 사용합니다.

    이미지 복사
    소스 이미지의 사각형을 대상 좌표공간으로 변환하여 Draw를 호출하면 됩니다. src.Bounds()를 사용하면 전체 이미지를 복사할 수 있습니다.

    이미지 스크롤중첩된 대상과 소스를 사용해 이미지를 그대로 복사하면 스크롤이 됩니다. Go의 본조 copy 함수처럼 중첩된 영역도 안전하게 처리합니다.

    마스크를 통한 그리기
    DrawMask를 사용하면 맄스크 이미지를 통과해 원형 모양으로 그리거나 폰트 글리프를 그릴 수 있습니다. 마스크는 color.AlphaModel을 사용하는 이미지를 사용합니다.

    ④ 실전 활용

    - 이미지 하나에 다른 이미지를 중첩하는 작업에 image/draw를 사용합니다.
    - 웹에서 사용하는 캐나스 2D 게임의 스프라이트를 그릴 때 유용합니다.
    - 이미지 마스킹을 통해 원형 자르기, 부분적 투명화를 구현할 수 있습니다.
    - 폰트 렌더링시 글리프를 이미지에 그리는 데 사용합니다.

    ⑤ 정리

    image/draw는 드링한 가지 작업을 정의하면서도 다양한 이미지 처리 작업을 포함합니다. Over와 Src 연산자를 이해하고 Draw함수를 사용하면 이미지 합성, 복사, 스크롤, 마스킹을 쉽게 처리할 수 있습니다.

    #Go #Golang #image #draw #이미지처리 #그래픽스 #공식문서

    이 게시물을..
    N
    0
    0
    • [Rust 공식문서 한국어 정리] 150. Attribute Macros오뉴노노
    • 2
      오뉴노노

    오뉴노노 님의 최근 글

    [Rust 공식문서 한국어 정리] 184. PartialOrd 382 2026 06.08 [Rust 공식문서 한국어 정리] 183. Ord 357 2026 06.08 [Rust 공식문서 한국어 정리] 182. Eq 353 2026 06.08 [Rust 공식문서 한국어 정리] 181. PartialEq 475 2026 06.08 [Rust 공식문서 한국어 정리] 180. TryFrom 440 2026 06.08

    오뉴노노 님의 최근 댓글

    ㅋㅋㅋㅋㅋ 2019 01.14 잘 읽었습니다 2018 12.30 포인트가 없어서 아직 시작을 못하고있는데요! 글은 잘 읽었습니다! 포인트 쌓고 도전할거에요 2018 12.30
    글쓴이의 서명작성글 감추기 
    댓글 쓰기 에디터 사용하기 닫기
    • view_headline 목록
    • 14px
    • [Rust 공식문서 한국어 정리] 150. Attribute Macros
    • 목록
      view_headline
    × CLOSE
    전체 던파 5 뮤 18 천상비 프로젝트신루 5 아이온 18 어둠의전설 28 리니지2 7 크로노스 5 칼온라인 3 기타 490
    기본 (582) 제목 날짜 수정 조회 댓글 추천 비추
    분류 정렬 검색
    • 게시판 홍보 관련 안내
      2026.08.05 - 21:44 6696
    • 포인트 획득 공지
      8
      2026.04.24 - 19:48 33327 8
    • 링크 업로드 관련 공지
      11
      2026.03.25 - 21:56 32335 11
    • 인증메일 공지
      3
      2026.03.15 - 16:42 31834 3
    • 파일링크 및 인증메일 발송 관련 문의 안내
      11
      2026.03.14 - 22:03 33115 11
    • 포인트 게시판 안내
      2026.02.28 - 19:14 33500
    • 게임존 사이트 변경 사항 안내
      9
      2026.02.26 - 01:07 35223 9
    • 소스자료는 직접 올려주세요
      2017.06.06 - 16:16 2103
    582
    기타
    [Rust 공식문서 한국어 정리] 184. PartialOrd
    오뉴노노 2026.06.08 - 15:42 382
    581
    기타
    [Rust 공식문서 한국어 정리] 183. Ord
    오뉴노노 2026.06.08 - 15:42 357
    580
    기타
    [Rust 공식문서 한국어 정리] 182. Eq
    오뉴노노 2026.06.08 - 15:42 353
    579
    기타
    [Rust 공식문서 한국어 정리] 181. PartialEq
    오뉴노노 2026.06.08 - 15:42 475
    578
    기타
    [Rust 공식문서 한국어 정리] 180. TryFrom
    오뉴노노 2026.06.08 - 15:42 440
    577
    기타
    [Rust 공식문서 한국어 정리] 179. TryInto
    오뉴노노 2026.06.08 - 15:42 423
    576
    기타
    [Rust 공식문서 한국어 정리] 178. From
    오뉴노노 2026.06.08 - 15:39 367
    575
    기타
    [Rust 공식문서 한국어 정리] 177. Into
    오뉴노노 2026.06.08 - 15:39 337
    574
    기타
    [Rust 공식문서 한국어 정리] 176. AsRef
    오뉴노노 2026.06.08 - 15:39 291
    573
    기타
    [Rust 공식문서 한국어 정리] 175. Deref
    오뉴노노 2026.06.08 - 15:39 312
    572
    기타
    [Rust 공식문서 한국어 정리] 174. Default
    오뉴노노 2026.06.08 - 15:39 282
    571
    기타
    [Rust 공식문서 한국어 정리] 173. Clone
    오뉴노노 2026.06.08 - 15:38 257
    570
    기타
    [Rust 공식문서 한국어 정리] 172. Copy
    오뉴노노 2026.06.08 - 15:38 302
    569
    기타
    [Rust 공식문서 한국어 정리] 171. Drop
    오뉴노노 2026.06.08 - 15:38 325
    568
    기타
    [Rust 공식문서 한국어 정리] 170. Weak
    오뉴노노 2026.06.08 - 15:37 304
    567
    기타
    [Rust 공식문서 한국어 정리] 169. Arc
    오뉴노노 2026.06.08 - 15:37 364
    566
    기타
    [Rust 공식문서 한국어 정리] 168. Rc
    오뉴노노 2026.06.08 - 15:37 304
    565
    기타
    [Rust 공식문서 한국어 정리] 167. Box
    오뉴노노 2026.06.08 - 15:36 433
    564
    기타
    [Rust 공식문서 한국어 정리] 166. str
    오뉴노노 2026.06.08 - 15:36 401
    563
    기타
    [Rust 공식문서 한국어 정리] 165. String
    오뉴노노 2026.06.08 - 15:36 265
    562
    기타
    [Rust 공식문서 한국어 정리] 164. HashMap
    오뉴노노 2026.06.08 - 15:36 338
    561
    기타
    [Rust 공식문서 한국어 정리] 163. Vec
    오뉴노노 2026.06.08 - 15:35 237
    560
    기타
    [Rust 공식문서 한국어 정리] 162. Result
    오뉴노노 2026.06.08 - 15:35 244
    559
    기타
    [Rust 공식문서 한국어 정리] 161. Option
    오뉴노노 2026.06.08 - 15:35 229
    558
    기타
    [Rust 공식문서 한국어 정리] 160. Iterators
    오뉴노노 2026.06.08 - 15:35 251
    557
    기타
    [Rust 공식문서 한국어 정리] 159. Closures
    오뉴노노 2026.06.08 - 15:35 358
    556
    기타
    [Rust 공식문서 한국어 정리] 158. Trait Objects
    오뉴노노 2026.06.08 - 15:34 260
    555
    기타
    [Rust 공식문서 한국어 정리] 157. Lifetimes
    오뉴노노 2026.06.08 - 15:34 321
    554
    기타
    [Rust 공식문서 한국어 정리] 156. Cargo.lock
    오뉴노노 2026.06.08 - 15:34 442
    553
    기타
    [Rust 공식문서 한국어 정리] 155. Cargo.toml
    오뉴노노 2026.06.08 - 15:34 245
    552
    기타
    [Rust 공식문서 한국어 정리] 154. Workspaces
    오뉴노노 2026.06.08 - 15:34 374
    551
    기타
    [Rust 공식문서 한국어 정리] 153. Crates
    오뉴노노 2026.06.08 - 15:33 251
    550
    기타
    [Rust 공식문서 한국어 정리] 152. Modules
    오뉴노노 2026.06.08 - 15:33 238
    549
    기타
    [Rust 공식문서 한국어 정리] 151. Proc Macros
    오뉴노노 2026.06.08 - 15:32 244
    548
    기타
    [Rust 공식문서 한국어 정리] 150. Attribute Macros
    오뉴노노 2026.06.08 - 15:32 313
    547
    기타
    [Rust 공식문서 한국어 정리] 149. cfg
    오뉴노노 2026.06.08 - 15:32 220
    546
    기타
    [Rust 공식문서 한국어 정리] 148. assert
    오뉴노노 2026.06.08 - 15:31 215
    545
    기타
    [Rust 공식문서 한국어 정리] 147. panic
    오뉴노노 2026.06.08 - 15:27 243
    544
    기타
    [Rust 공식문서 한국어 정리] 146. Error
    오뉴노노 2026.06.08 - 15:24 245
    543
    기타
    [Rust 공식문서 한국어 정리] 145. Any
    오뉴노노 2026.06.08 - 15:22 231
    542
    기타
    [Rust 공식문서 한국어 정리] 144. Unpin
    오뉴노노 2026.06.08 - 15:19 286
    541
    기타
    [Rust 공식문서 한국어 정리] 143. Pin
    오뉴노노 2026.06.08 - 15:17 266
    540
    기타
    [Rust 공식문서 한국어 정리] 142. LazyLock
    오뉴노노 2026.06.08 - 15:14 214
    539
    기타
    [Rust 공식문서 한국어 정리] 141. OnceCell
    오뉴노노 2026.06.08 - 15:11 273
    538
    기타
    [Rust 공식문서 한국어 정리] 140. Atomic
    오뉴노노 2026.06.08 - 15:06 262
    537
    기타
    [Rust 공식문서 한국어 정리] 139. RwLock
    오뉴노노 2026.06.08 - 14:34 240
    536
    기타
    [Rust 공식문서 한국어 정리] 152. Modules
    오뉴노노 2026.06.08 - 14:00 251
    535
    기타
    [Rust 공식문서 한국어 정리] 151. Proc Macros
    오뉴노노 2026.06.08 - 14:00 347
    534
    기타
    [Rust 공식문서 한국어 정리] 150. Attribute Macros
    오뉴노노 2026.06.08 - 14:00 363
    533
    기타
    [Rust 공식문서 한국어 정리] 149. cfg
    오뉴노노 2026.06.08 - 14:00 316
    • 1 2 3 4 5 6 7 8 9 10 .. 12
    • / 12 GO
  • GAMEZONE
 GAMEZONE all rights reserved.
by OrangeDay