[Java] 색상에서 value & 0xff 의미 쉽게 이해하기
0. 소개 Java에서 이미지 처리에서 픽셀 기준으로 RGB값을 뽑아 올 경우 Alpha, Red, Blue, Green 값을 가져오기 위해 Blue = value &0xff Red = (value >>16) &0xff 등의 연산을 볼 수 있다. 이 의미를 알아본다. 1. 이미지의 이해 이미지는 기본적으로 RGB로 이루어져 있다. 이미지를 빨강, 초록, 파랑으로 표현하고, 알파로 투명도를 표현한다. 흔히 빨강, 초록, 파랑, 알파는 0~255의 값으로 표현한다고 들어봤을 것이다. 256은 bit로 8비트로 표현 가능하다. 따라서 이미지를 표현할 때 순서대로 알파, 빨강, 초록, 파랑은 다음 그림과 같다. 2. Shift 연산의 이해 (>>, >24의 뜻은 비트를 오른쪽으로 24만큼, >>16은 비트를 오..
더보기
[Java] 자바로 그림판 만들기(펜, 도형, 파일 읽기 쓰기, 색깔, 굵기)
0. 기능 펜으로 글씨 쓰기 선, 네모, 원 도형 그리기 색깔, 굵기 조절 파일 저장, 파일 불러오기 전체 지우기, 지우개로 그림 지우기 그림판에 계속 그릴 때 마다 사라지지 않게 BufferedImage 사용 도형 선택해서 드래그 할 때 잔상으로 도형 크기 보이게 하기 1. 실행화면 2. 주요 메소드 설명 2-1 (버튼들 Event 처리) JButton버튼이 눌렸을 때는 JButton의 이름으로 String shapeString에 저장한다. 여기서 JButton은 지우개, 원, 네모, 선, 펜에 해당한다. (예를 들어 원이 눌렸다면 shapeString에 원이라는 String이 저장된다.) 또한 색깔이나 굵기가 선택된거에 따라 변수값에 넣는다. 2-2 (선 그리기 마우스 처리) mousePressed ..
더보기