몽상실현개발주의

[따배씨] 15.8 RGBA 색상 비트 마스크 연습문제 본문

Language/C

[따배씨] 15.8 RGBA 색상 비트 마스크 연습문제

migrationArc 2021. 7. 25. 18:50

[따배씨] 15.8 RGBA 색상 비트 마스크 연습문제

따배씨 - 따라하며 배우는 C언어

15강 비트 다루기

15.8 RGBA 색상 비트 마스크 연습문제

  • 컴퓨터에서 색을 표현하는 방법 중 하나

 

#include <stdio.h>

#define BYTE_MASK 0xff  // 0xff - 8비트로 표현가능한 16진수 중 가장 큰 수 == 11111111
void int_binary(const int num);
int main()
{
    unsigned int rgba_color = 0x66CDAAFF;
    // 4 bytes, medium aqua marine (102, 205, 170, 255) , unsigned char type
    
    unsigned char red, green, blue, alpha;
    
    // Use right shifg >> operator
    red     = (rgba_color >> 24 & BYTE_MASK);
    green   = (rgba_color >> 16 & BYTE_MASK);
    blue    = (rgba_color >> 8 & BYTE_MASK);
    alpha   = rgba_color & BYTE_MASK;
    
    
    printf("(R, G, B, A) = (%hhu, %hhu, %hhu, %hhu)\n", red, green, blue, alpha);
    // (R, G, B, A) = (102, 205, 170, 255)
    
    return 0;
}
unsigned int rgba_color = 0x66CDAAFF;
  • Bianry : 01100110 11001101 10101010 11111111
    • red : 01100110 == 102
    • green : 11001101 == 205
    • blue : 10101010 == 170
    • alpha : 11111111 == 255
  • 4byte 를 1byte(8bits) 씩 R, G, B, A 를 표현 / 각 색상당 0~255 까지 표현가능

 

 


이 글의 모든 사진과 내용의 출처는 홍정모 교수님께 있음을 알려드립니다.

http://blog.naver.com/atelierjpro

 

실리콘 밸리의 프로그래머 : 네이버 블로그

안녕하세요! 홍정모 블로그에 오신 것을 환영합니다. 주로 프로그래밍 관련 메모 용도로 사용합니다. 강의 수강하시는 분들은 홍정모 연구소 카페로 오세요.

blog.naver.com

http://www.inflearn.com/course/following-c

 

홍정모의 따라하며 배우는 C언어 - 인프런 | 강의

'따배씨++'의 성원에 힘입어 새롭게 개발된 C 언어로 시작하는 프로그래밍 입문 강의입니다. '따배씨'와 함께 프로그래밍 인생을 업그레이드 해보세요., 따라하며 배우는 C언어 '따배씨++'의 성원

www.inflearn.com

 

Comments