나우캠퍼스 C# 언어 19강. 이미지(1/2) > c#

c#

Microsoft C# Programming 강의 리스트

나우캠퍼스 | C# 언어 19강. 이미지(1/2)

본문

※ 영상을 선명하게 보기 안내
  1. 유튜브 영상에서 오른쪽하단에 톱니바퀴를 클릭합니다.
  2. 팝업목록에서 "품질" 선택하세요.
  3. 원하는 해상도를 선택해주세요.
※ 모바일에서 Wifi가 아니라면 데이타가 소진될 수 있으니 주의바랍니다.
나우캠퍼스님의 c#강의 청각장애인을 위한 자막
15444117326209.jpg

 

아 고맙습니다 프레임 강사 이태성 입니다
자 식구가 이제 이미지를 다뤄보도록 하겠습니다
우리가 민 32 라든가 과거에 이런 그 윈도우 프레임 에서는 이미지
하면은 일반적인 bmp 파일 만 어
로딩이 가능했습니다 그 외에 많은 부분들은 요
따로 제공되는 그런데 i've 러 리 를 가지고서 이제 그러 와 같은
이미지를 로딩 했었는데요
어시 샵에서는 여러가지 이미지들의 8 폼의 뜰을 제공해주기 때문에 다양한
이미지를 로딩 해서 이제 출력하거나 또는 그런 부분들을 이용해서 뭐
다양한 프렌드 를 좀 쉽게 만들 수 있는 그런 장점들이 있습니다
자 그러면은 15와 이미지를 보시면서 그런 내용들을 같이 한번 살펴보도록
하겠습니다 자 목차는 어 이미지 대한 상 들과 그 다음에 비트맵 이란
것을 배우게 됩니다
그래서 부품의 보고요 그 다음에 더블 버퍼링 인하 시 있는데요
더블 버퍼링 은 여러 개의 이미지들을 화면 깜빡임이 없이 출력할 수
있도록 해주는 것 같은 방법이죠
더블 버퍼링을 배울 거 고요 그러면 리소스의 미드 를 어떻게 활용할 수
있는지 그 상들을 보도록 하겠습니다
자 그 다음에 염색할 아시죠 구독해 주시는 거 다음에 어 좋아요 부터
눌러 주신 거 엄청 잊지 않았으면 좋겠습니다
그러면 그 내용 보겠습니다
아 어 gdi 에서 다를 수 있는 이미지들은 뭐 이미지 파일 포맷도 뜰은
여러 가지 형식이 있죠
그 중에서도 가장 배 퍼진 것은 바로 jpg 또 빈 p 져 특히 4
bmp 는 ms 윈도우 어 개어 있는 os 에서 이제 기본적으로 다루는
그 같은 이미지 파일 형식 이구요
그 다음에 jpg 는 어떻습니까 과거에서 더 계속 써온 같은 이미지
포맷이 줘
특히나 jpg 는 인터넷에서 웹에서 접은 용량으로 선명한 이미지를 보여줄
수 있는 그런 파일 포멧이 바로 jpg 입니다
그래서 jpg 는 파일 용량이 적은 대신 그 적은 용량 안에 여러가지
이미지 정보들이 압축되어 있는 반면에 비행 핀 어떻습니까 추대 열지 않죠
그래서 좀 파형 그 파일 크기가 조금 크지만 좀 쉽게 다룰 수 있단
장점이 있습니다
그 다음에 뭐 png gif 뭐 이렇게 쭉 있는데요
어 이와 같은 이미지들을 이제 gdr 프로세서는 하나의 야 메소드를
통해서 또는 개체를 통해서 전부 다 다를 수가 있습니다 그렇기 때문에
굉장히 편리 해줬죠
과거에는 따로 땅 좀 해 줬었는데 이제 그럴 필요가 전혀 없습니다
자 이미지를 다루는 클래스 는요
이와 같이 이미지 라고 하는 같은 클래스가 있습니다
그런데 이 이미지라는 클래스 는 추상 기본 클래스 입니다
그래서 추상 기본 클래스 는 앞의 어베스트 렉터 라고 하는 이유와 같은
키워드가 붙는 것
여러분들 기억나시죠 특히나 추상 클래스 같은 경우는 생성을 할 수가 있다
없다
바로 생성을 할 수가 없다 라고 하는 문법적인 약속이 있습니다
그리고 이 같은 추상 클래스 는 상승을 해서 사용하도록 되어 있었죠
그래서 어 이미지를 다른 클래스 의 기본은 이미지란 클래스가 있고요 그
밑에 뭐가 있습니까
bmp 와 메타 파일이라고 하는 이와 같은 클래스가 이미지를 상승 캐서
이미지에 관련된 다양한 역할들을 할 수가 있습니다
예 꽤 있죠 그 다음에 요것 좀 너무 하기 전에 에 추상 클래스 에 대한
부분들을 한번 어 져 번가 아
어 금액 거 아닌가요 아 됐네 뭐 뭐
강의했던 뭐 잠시 부분 요 자 추상 클래스 는 뽑아서 하는 것을 얘기하죠
그래서 추상 클래스 얘기하면서 추상 에서 뽑을 주다 엄청 그 다음에
코끼리 상이 닿아 또는 그래서 모양
그렇죠 뭐 양상이다 해서 역이나 어디서 어떤 개념의 홈 특성이나 속성
타일을 추출 하여 파악하는 작용을 추상 이라고 한다. 벽을 말씀을
드렸습니다
자 그리고 추상 클래스 는 뭡니까 앞니가 구현 해라 라는 얘기죠 나는 그
형식 먼 줄테니까 니가 구현 해라
그래서 추천 클래스 는 상소 로마 사용할 수 있고 그 다음에 눈을 통해서
생성을 할 수 없죠
그 다음에 업무 스트랩 트가 있는 상이 메쏘드 만 하위 슥 에서 모두
부연해서 써야 하는 것 같은 그 제한 사항이 있었습니다 하지만 요 하든
추상 클래스 상속을 할 수는 없지만
그러면 교훈 이 있잖아요 뭐 어떤 경우 입니까 춤 클래스 이미지 의
메쏘드 중에서 이와 같이 품 파일과 같은 스테이 틱 으로 이어져 선언된
여튼 면서도 했습니다
그래서 이와 같은 메쏘드는 바로 사용 할 수가 있죠 그래서 이 파일을
이용해 이 메소드를 이용해서 우리가 앞에 3 어머 jpg 모피 엔진이
bmp 다양한 1
그런 그 이미지들을 로딩 에서 우리의 메모리에 타카네 올려 놓을 수가
있습니다
그 다음에 여하튼 이미지를 출력하기 위해서는 당연히 그래픽스 라고 하는
것을 사용하고요
그 다음에 드루 이미지 라고 하는 메소드가 있습니다
그 다음에 가 들어옴 a 이미지 라고 하는 매수 들어보니까 내기 100세
뭐 같습니까 여기에 있죠 그래서 여기에 새 떤 프롬 파일을 통해서 로딩
한 적 그다음에 이미 로딩 한 후에 이미지란 개체를 통해서 어떻습니까
이렇게 출력하는 것을 우리가 이렇게 하면 연결을 연관을 지어서 생각해 볼
수가 있습니다
자 그러면은 코드 한번 보도록 할게요
아 어 푸들은 너무 너무 간단합니다 저기 뭐 다른 부분이 없죠 그래서
보면은
음 지금 여기 에 나오듯이 어
이미지 그 다음에 마 이미지 있습니다 다음에 이 미지의 담 의 품
파일에서 바로 로딩 하죠
보토 jpg 란 것을 제가 로딩 합니다
자 1칸 후에 그 다음에 평가 이에 그래픽스 에 들어 이미지에서 0 콤마
0 에서부터 중요해 라고 이와 같이 프레임을 작성할 수가 있습니다
그래서 실제로 제가 한번 실험해 보니까 이와 같이 이렇게 출력된 것을
확인해 볼 수 있습니다
자 그 다음에 유아 같은 이미지 든요 억 파일에서 즉 하드디스크에서 것을
불러내는 거기 때문에 실제 실 8 년 그 위치에 실행파일이 있는 어 그
곳에 바로 이와 같은 이미지가 있어야 되겠죠
그래서 여러분들이 요건은 넘들이 실제 프로젝트를 여러분들이 생성을 하게
되면은

생성하게 되면 은 이와 같은 풀 그 안에 보면은 여기 확대해 볼까요
빈 있죠 앱인 있고요 그 다음에 빈 아래 보면 디버거 있으니까 디버그
안에 보면 시행 파 되는데요
여기에 이와 같은 이미지를 이와 같이 미리 복사를 해 놔야 만합니다 저서
꾸고 여러분들 기억을 하시구요
크게 뭐 제한 대상 어려운 부분은 없습니다
자 그 다음에 우리가 두 번째로 볼 필요가 있는 것이 이제 100 뜨며
빕니다
에피 뜨 매번 이미지 클래스를 그대로 이제 상속하고 있죠 그래서 이미지에
비해서 더 많은 어떤 기능들이 포함되어 있습니다
자 그래서 빗금 에 클래스를 이용해서 도 우리는 이미지를 다를수가
있습니다
정확해서 보면은 들어오고 이미지 있고 이런식으로 쭉 상속 관계에 있는
것을 확인해볼 수가 있고요 그 다음에 빗금 앱인데 앞에 cd 에 이렇게
붙어져 있죠
그러면 이 비트맵 은 상속할 수 있다 없다 바로 상세 칼 수 없는 그렇죠
겉이 본인 된 같은 그 클래스 임을 알 수가 있습니다
자 그 다음에 당연히 상승했기 때문에 당의 길 등 적어도 비트맵 2
아님 많죠 아서 여러분들은 뭐 이미지로도 의미 를 로딩하는 것은
가능하지만 여러분 요 클래스를 어 잘 알아두는 것이 좋을 거라 생각합니다
그 다음에 뭐 다양한 형식의 도 또 저장까지 할 수 있기 때문에 더
유용하겠죠
아 자 pdm 을 이용한 이미지 노드는 요 이 5가지 생성자를 통해서
우리가 그와 같은 이미지 파일을 지정해서 바로 할 수도 있고요 그 다음에
이와 같은 비트맵 비락 원 이미지 로딩 했을 때 그 붙든 맵의 어떤 뭐
점을 찍는다 등 가 선을 긋는다 는가
뭐 이런 분들도 같이 할 수가 있습니다 그래서 점을 찍을 때는 3 픽스
그 다음에 그 이미지에 들어있는 그 색 전부 1
그래서 우리가 보통 보면은 자기 그림판에서 스포이드 있잖아요 스포이드를
이용해서 그 픽사가 딱 클릭하게 되면 어떻게 됩니까
그 클릭된 그 픽셀의 레드 그리 분리의 그 값을 읽어 낼 수가 있죠
그와 같은 부분 할 때 바로 개 픽셀을 이용할 수가 있습니다

어 그 다음에 뭐 요런 그렇죠 요런 정보들을 우리가 그 매개변수가
이런식으로 되어 있구요
함수의 원형이 이렇게 된 것을 확인해 볼 수가 있습니다
아 어 비트맵을 출력하는 것은 방법은 똑같습니다 정해서 어 그래 패스
들어 이미지를 이용 하듯이 앞에서 이미지 해봤자 나요 그 그거 그대로
쓰시면 되구요
어 그 다음에 빗금 액 같은 경우는 더 많은 길이 있는 거 말씀드렸죠
그래서 지금 요거 예를 통해서 한번 보도록 하겠습니다 그래서 로딩 한
이미지와 폼이 크기다 갖도록 출력해주는 고 위에 그래서 이미지 크게
따라서 폼의 크기가 필러 지겠죠
포백 클릭 이어 달라진다는 것은 뭐겠습니까 이와 같이 폼이 있으며 는
제품이구요 그 다음에 여기에 뭐 이런 버튼이 있다 하면 폼 의 크기 등이
전체 크기 아니라 실제로 이미지의 출 때는 부분이 어딥니까
바로 이 클라이언트 영역 지금 이용 여기죠 그래서 이 영역의 크기를
이미지에 크게 따라서 가 된 적으로 커졌다 줄어들었다
이렇게 하겠다는 얘기죠 예 해서 거기에 발매된 코드 보겠습니다
소도 보겠습니다 자 페인트 란 이벤트가 바로 그리도록 했습니다
그래서 보면은 언 유비트 메밀이 우유 같이 하고 있죠 그래서 u 같이
테스트 완 점 제 2피치 이렇게 임질 로딩하고 있고요 그 다음에 이미지를
로딩 했기 때문에 이 빗금 m 이러한 이 객체에서 는 뭡니까
일지 대한 정보를 가지고 있을 듯 있잖아요 그래서 그 이미지 정보 중에서
가장 많이 쓴 것은 바로 이미지의 가로 길이 꼭 일이겠죠
그래서 그 가로 길이와 그 다음에 새로 1위를 이와 같이 속성을 통해서
여제 가져올 수가 있습니다
자 그런 다음에 여기 보면 색 클라이언트 사이즈 코아 라고 하는 메소드가
있어요 는 폼에서 제공해주는 것 같은 메쏘드 인데요
이것을 이용하게 되면 은 이제 뭡니까 그 클라이언트 영역의 크기를
자유자재로 예 3 업을 할 수가 있습니다 그래서 이와 같이 셋 업을 해
주고 그 다음에 그 크기만큼 어떻게 합니까 출력하지 요 0 꼼마 영어를
기준해서 이미지를 그려 줘라 라고 이렇게 할 수가 있습니다
자 그래서 어 제가 이제 요거를 한번 실행을 해보도록 하겠습니다
그래서 실행하니까 어 지금 이와 같이
저 그림 이렇게 어 추억속 볼 수 있죠 아입니다
에 저희는 죄는 좀 id 서 많은데요
요거는 이제 그 뭡니까 병아리 키우는 그 유축기를 만들면서 아이들이
들어가서 이제 그 눈은 거에요
예 저희 아이들 같이 만들었는데 아무튼 상당히 재미있었습니다
그래서 고 사진입니다
이미 크기의 배트맨의 생성 매 클리어를 보도록 하겠습니다
우리는 앞에서 이미지를 다루고자 할 때 파일에서 저장된 그와 같은 그
내용만을 가져와 짜 나요 그래서 출력해 씁니다
아이젠은 이와 같은 이미지도 내가 메모리도 떠 칼이 한번 만들어 보는
겁니다 해서 그것이 가능하도록 하는 것인데요
바로 b 뜸 앱의 생성자 해서 지금 나오는 미스 하이 스 를 이용해서
그와 같이 가르기 라 새로워 지기를 주어지게 되면 내가 그와 같은
메모리를 묶어 같이 다를 수 있다
이미지와 하지 다룰 수 있다는 내용입니다 그쵸
그래서 이와 같은 이미지를 다 루저 할 때 우리가 그 백 그 이미지를
다룰 수 있도록 해주는 또 하나의 방법
바로 봅니까 그래픽스 란 것을 이용해서 우리의 다르게 된데요
그래픽 쓰는 프롬 이미지 라고 하는 요 매서 들을 가지고 어서 그래픽스
를 얻어서 요 객체를 통해서 우리가 뭔가를 해 주도록 그와 같은 방법들이
제공하고 있습니다
자 그 다음에 그래픽스 클리어 요걸 토하며 는 어떠세요 비트맵을 통해서
통하고 생성하고 그 다음에 프롬 이미지를 통해서 우리가 그래픽스 를 없고
그래픽스 클리어 라고 하는 2매 숯 을 이용하면 은 그 그래픽 그
메모리를 쭉 전부터 싸그리 지워 주게 되죠 그래서 그런 역할을 할 수
있고요
그래서요 관계를 한 번 그 살펴보도록 할게요 그래서 3 400 의 3배
크기의 비트맵을 로딩하고 절 어디 한다.는 말들은 말보다는 이것은 뭐
생성하고 더 맵 을 생성하고
시작 프로 에는 출력한 데 한 10개 주력하고 배경 상흔은 옐로우 로
출력한다. 라는 부분이 점에서 6 배경색을 옐로 올 하는 방법 좀 설정한
것도 우리 살펴볼 곳이고요 그런데 이때 비트맵을 지운다는 이해하는 것은
괴로운 보겠습니까 어떤 색상 값을 가지고서 지워 준 것을 얘기 하죠
그래서 배경색을 옐로 로 출력한 단 얘기는 그 비트맵을 노란색 5 체험단
얘깁니다 서 이것은 뭐 걸린 됩니까
클리어하고 관련이 되죠 그리고 사각형 까지 출력하는 것을 한번 보도록
하겠습니다
쑤 볼게요 지금 여기 나오듯이 b 뜸의 패서 클래스 에 다 이렇지 선언을
했습니다
그래서 멤버로써 선언 했죠 자 그 다음에 여기 나오듯이 뭡니까 400
개의 3배 크기 만큼의 100대 맥을 생성했습니다
자 그 다음에 400 300 원내 크기 이미 아니잖아요 알기 때문에 3
클라이언트 사이즈 코앞에서 했었죠 그래서 요거 만큼 뭐다 클라이언트를
확보로 해라 라는 얘기죠
그래서 이미지를 새해에 메모리 공간을 생각보 하고 그 다음에 그 이미지를
그리기 위한 클라이언트 영역을 이어져 확보 했습니다
자 그 다음에 그래픽스 점 프롬 파의 앞으로 미미 지 하죠
프롬 이미지 그 다음에 요에 얼른 프론 이미지는 앞에서도 잠시 음 봤듯이
다시 함 볼까요
어 요 파일이 모르겠습니까 스테이트 로 되어 있죠
그렇기 때문에 우리는 이와 같은 매스 그래픽스 라고 한 것을 생성 하지
않고서도 이 메서드를 호출해서 사용할 수가 있습니다
자 그래서 지금 여기 와 같이 프롬 이미지를 통해서 비트맵을 명시를 해
주고요
그 다음에 그 그래픽스 를 이와 같이 참조를 하게 되죠
그 다음에 이 그래픽스 를 통해서 클리어 한 다음에 어떤 세울 할 거니
그래서 컬러 옐로 에서 노란색으로 하겠습니다 라고 예수 명시를 하구요
그 다음에 보에서 아까 얘기했듯이 10개
그저 10개를 그린다고 출력한다. 고 했었죠 그래서 10개를 출력하기
위해서 지금 여기 나오듯이

드로우 스트링 해서 지금 이와 같이 어
출력하고 있습니다 그 다음에 10개의 삭혀 그래서 더 룰에 탱 글에서
블랙 패널에서 10개를 그리고 있습니다 썻어요 같은거는 배 콤마
요부분 요 부분은 같은 곳에 다가 2
이렇게 쭈그려 주기 때문에 이건 별로 의미가 없네요
정서 요건 별로 인기가 없는 같습니다 세운
어 이렇게 주체를 하고요 그 다음에 요금만 전 요것만 이렇게 하겠으며 서
요건은 포문 아래 듣기보다는
저희야 이렇게 하나정도 그려본다
하는 의미에서 제안 된건데 조금 잘못 풀어져 있는 것 같습니다
그래서 이렇게 볼 수 있겠죠 그런 다음에 출력할 때는 욥이 틈에 왜
그렇습니까
이때 매매 이미 다 그려져 있는 거예요 그래서 시샵 프로그램이 나오는 문
짜며 그 다음에 뭡니까
턱이 그 삭혀 있는 이런것들이 어이 비트맵 에다 그려져 있기 때문에 이제
그 원본 온 본을 이제 엉큼한 영어를 기준해서 주력해 봐라 라는 얘기죠
그래서 요것을 자 실행을 해보면
이와 같이 취미 됩니다 놀란 오우 란 세계의 저 이와 같이
초 요렇게 자가 켜니 이렇게 그러지
이와 같은 그림을 이렇게 추요 아기와 같은 형태로 출력할 수가 있는
것이죠 그래서 이렇게 볼 수가 있습니다
그래서 어 그런 같아요 그래픽 같은 경우에는요
지금 제가 지금 설명드린 적이 이와 같은 여러 가지 사항들
뭐 저 뜸 앱을 이용하고 프롬 이미지라서 일로 대응하고 클리어하고 뭐
이런 분들은 이미 그 시상이 결정되어 있어 이것을 뭐 어떻게 최적화할 수
있는 그런 부분 없습니다
그래서 어 되도록이면 이와 같은 코드를 잘 보관해 주시고 왜냐면은 하다면
잘까 먹어요 아 그래서 이런 잘 보관해 두셨다가 그때그때마다 이와 같은
분들 참고로 해서 코드를 작성하시면 됩니다 그러기 위해서는 무엇을 해야
된다
항상 정리하는 봐도 습관을 들인 것이 가장 좋습니다
아 이제 더블 버퍼링을 보도록 하겠습니다 해서 더블 우퍼 링은 조금 존
그 내용이 좀 길어지기 때문에 요
요거는 제가 다음 강에서 연결해서 설명을 드리도록 하겠습니다

댓글 0개

등록된 댓글이 없습니다.

Total 64건 3 페이지

본 사이트의 컨텐츠는 명시적으로 공유기능을 제공하고 있는 공개된 자료를 수집하여 게시하고 있습니다.

저작권, 강의등록, 광고, 제휴등은 "관리자에게 문의"로 메세지 주시면 확인후 답변드립니다.

Menu