<4D F736F F F696E74202D20BECBC6C420BAEDB7A3B5F9C0BB20C0FBBFEBC7D F7720C7CAC5CD20B9D720C0CCB9CCC1F620C7DAB5E9B8B55F >

Similar documents
Microsoft PowerPoint - Windows CE Programming_2008 [호환 모드]

No Slide Title

Windows Embedded Compact 2013 [그림 1]은 Windows CE 로 알려진 Microsoft의 Windows Embedded Compact OS의 history를 보여주고 있다. [표 1] 은 각 Windows CE 버전들의 주요 특징들을 담고

스마트폰 모바일 랩 세미나

Microsoft PowerPoint - IP11.pptx

서현수

기초에서 활용까지 윈도우즈 임베디드 CE 프로그래밍

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - 권장 사양

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

Chapter #01 Subject

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

Microsoft Word - 임베디드월드_WindowsEmbeddedCompact7_rev

디지털영상처리3

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Dialog Box 실행파일을 Web에 포함시키는 방법

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

UI TASK & KEY EVENT

Microsoft PowerPoint - Install Guide[ ].ppt [호환 모드]

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

슬라이드 1

디지털영상처리3

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

¨ìÃÊÁ¡2

윈도우시스템프로그래밍

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

Microsoft PowerPoint - 09-CE-7-선과 도형

KEY 디바이스 드라이버

슬라이드 1

11장 포인터

MFC 프로그래밍

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

제목

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont

PCServerMgmt7

공지사항

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Open GL

Microsoft PowerPoint - chap11-포인터의활용.pptx

Cisco FirePOWER 호환성 가이드

C++ Programming

디지털TV솔루션 브로셔

Chapter_02-3_NativeApp

BMP 파일 처리

DE1-SoC Board

슬라이드 1

슬라이드 1

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

PowerPoint Presentation

PowerPoint 프레젠테이션

WinCE 실험실습 #1

어댑터뷰

untitled

PowerPoint Presentation

Microsoft PowerPoint - 07-Data Manipulation.pptx

PowerPoint Presentation

GDI 와 DC GDI (Graphics Device Iterface) 응용프로그램이하드웨어를제어할수있도록윈도우 OS 가제공하는모든기능 윈도우가출력장치에대한정보를스스로판단하고분석하여, 실제로사용할드라이버를불러옴 이를이용할경우, 하드웨어독립적인프로그래밍을할수있음 Widw

슬라이드 1

PowerPoint Template

K835PCM1DMX-K

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Lab 3. 실습문제 (Single linked list)_해답.hwp

강창훈

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

슬라이드 1

API 매뉴얼

04_오픈지엘API.key

cam_IG.book

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

Microsoft PowerPoint - chap06-2pointer.ppt

Visual C++의 개요

Todo list Universal app

<4D F736F F F696E74202D203031C0E520C0A9B5B5BFEC20C7C1B7CEB1D7B7A1B9D620B1E2C3CA5FBFB5B3B2C0CCB0F8B4EB205BC8A3C8AF20B8F0B5E55D>

Microsoft Word - Korean_뷰어 메뉴얼_공용_ADVR&SWi_.doc

PowerPoint

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

1. 상속의기본개념 다음과같은문제를위한클래스설계 자동차 속성 : 색상, 배기량, 현재속도 메서드 : 가속하라, 멈춰라, 시동을켜라 트럭 속성 : 색상, 배기량, 현재속도, 최대중량 메서드 : 가속하라, 멈춰라, 시동을켜라 택시 속성 : 색상, 배기량, 현재속도, 요금,

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft PowerPoint - chap10-함수의활용.pptx

PowerPoint Presentation

C++ Programming

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Frama-C/JESSIS 사용법 소개

PowerPoint Presentation

윈도우즈 프로그래밍

컴퓨터과학과 교육목표 컴퓨터과학과의 컴퓨터과학 프로그램은 해당분야 에서 학문적 기술을 창의적으로 연구하고 산업적 기술을 주도적으로 개발하는 우수한 인력을 양성 함과 동시에 직업적 도덕적 책임의식을 갖는 IT인 육성을 교육목표로 한다. 1. 전공 기본 지식을 체계적으로

Windows Live Hotmail Custom Domains Korea

KDTÁ¾ÇÕ-2-07/03

IoT FND8 7-SEGMENT api

Chap7.PDF

Microsoft PowerPoint - 09-CE-5-윈도우 핸들

특허청구의 범위 청구항 1 게임 서버 또는 미들웨어에 의해, 사용자 단말기로부터, GPS 정보, IP 정보, 중계기 정보 중 적어도 하나를 이 용한 위치 정보와, 상기 사용자 단말기에 설정된 언어 종류를 포함하는 사용자 정보를 수신하는 단계; 상기 게임 서버 또는 미들

H3250_Wi-Fi_E.book

Transcription:

8R2 고재관 myaustin@korea.com Mobile Devices Microsoft MVP

Microsoft 공인전문가 600시간세미나 / 강의실무경력 14 년 Portable Device since 1995 집필도서 윈도우임베디드 CE 프로그래밍입문 (2008.3, 정보문화사 ) 윈도우임베디드 CE 프로그래밍 (2006, 정보문화사 ) 팔아라! 실전PDA프로그래밍 (2002, 삼각형프레스 ) Starting Mobile PDA Programming (2001, 삼각형프레스 ) 전문분야 Mobile Device 컨설턴트및 Market Planner Windows Mobile 기반휴대폰 Software 제작 DirectShow 기반개발전문가

이미지핸들링 알파블랜딩 DirectX DirectShow 재생 DirectShow 필터 데모및프로그램코드실행

Graphic Device Interface GDI 그래픽디바이스 Device Context DC 출력장치 ( 디스플레이, 프린터 ) Graphics Windows and Event Handler GWE WM_PAINT 무효영역 Draw 전체윈도우 Redraw

BeginPaint 무효영역유효화 ( 보이지않다가보이는영역 ) 그릴영역계산및대상선정 사용할 DC 가져옴 EndPaint 호출 DC 해제 필수호출 WM_PAINT 처리와무관

사용자임의로전체그리기지시 BOOL InvalidateRect ( 윈도우핸들, 영역, 화면지우기 ); WM_PAINT 임의처리불가 반드시운영체제로부터받아야함

DC 생성 HDC GetDC( 윈도우핸들 ); 윈도우 DC HDC GetWindowDC ( 윈도우핸들 ); DC 해제 INT ReleaseDC( 윈도우핸들, DC)

PatBlt BitBlt Raster Operation Code MaskBlt TransparentBlt StretchBlt AlphaBlend

패턴출력 BOOL PatBlt ( 출력 DC, 시작칸, 시작줄, 폭, 높이, 레스터연산코드 ); 래스터연산코드 래스터연산코드 PATCOPY PATINVERT DSTINVERT BLACKNESS WHITENESS 기능지정된브러쉬색상으로채우기지정된브러쉬색상의반대색으로채우기화면에이미있는색상을반전검은색으로지우기흰색으로지우기

비트출력 BOOL BitBlt ( 출력 DC, 시작칸, 시작줄, 폭, 높이, 원본 DC, 시작칸, 시작줄, 레스터연산코드 ); Ex) 시작칸시작줄 출력 DC 시작줄 시작칸 원본 DC 높이 지정한높이만큼만가져옴 폭

래스터연산코드 기능 MERGECOPY 화면과비트맵이미지의색을합침 ( 논리 AND 연산자사용 ) MERGEPAINT 화면과비트맵이미지의색을조합 ( 논리 OR 연산자사용 ) NOTSRCCOPY 출력한내용을반전한후화면에반영 NOTSRCERASE 화면과비트맵이미지의색을조합반전 ( 논리 OR 연산자사용 ) PATPAINT 비트맵의색반전후패턴의색과조합.( 논리 OR 연산자사용 ) 변동된결과와화면의색을다시조합함 SRCAND 화면과비트맵이미지의색을조합 ( 논리 AND 연산자사용 ) SRCCOPY 화면에비트맵을그대로반영 SRCERASE 화면을반전한후비트맵과조합 ( 논리 AND 연산자사용 ) SRCINVERT 화면과비트맵의색을조합 ( 논리 XOR 연산자사용 ) SRCPAINT 화면과비트맵의색을조합 ( 논리 OR 연산자사용 )

마스크 BOOL MaskBlt ( 출력 DC, 시작칸, 시작줄, 폭, 높이, 원본 DC, 시작칸, 시작줄, 마스크이미지, 시작칸, 시작줄, 레스터연산코드 ); Ex) 출력 DC 마스크원본 DC 마스크영역만출력

색상투과 BOOL TransparentBlt ( 출력 DC, 시작칸, 시작줄, 폭, 높이, 원본 DC, 시작칸, 시작줄, 폭, 높이, 투과색 ); Ex) 시작칸시작줄 출력 DC 시작줄 시작칸 원본 DC 높이 RGB(255,255,0) 투과높이줄임 높이 폭 폭

출력방향 BOOL StretchBlt ( 출력 DC, 시작칸, 시작줄, 폭, 높이, 원본 DC, 시작칸, 시작줄, 폭, 높이, 래스터연산코드 ); Ex) 시작칸시작줄 출력 DC 시작줄 시작칸 원본 DC 높이 높이, 폭에 -1 를곱한크기 높이 폭 폭

알파블랜딩 BOOL AlphaBlend ( 출력 DC, 시작칸, 시작줄, 폭, 높이, 원본 DC, 시작칸, 시작줄, 폭, 높이, BLENDFUNCTION 구조체 ); typedef struct _BLENDFUNCTION { BYTE BlendOp; BYTE BlendFlags; 0 AC_SRC_OVER BYTE SourceConstantAlpha; 비율 (0~255) BYTE AlphaFormat; 0 }BLENDFUNCTION, *PBLENDFUNCTION, *LPBLENDFUNCTION;

고재관 MOBILE DEVICES MICROSOFT MVP

구성 DirectInput DirectDraw Direct3D DirectPlay DirectSound Direct3DSound DirectMusic DirectShow DirectAnimation DirectSetup WindG/WaveMix 결과물과거 Game SDK Media Layer DirectShow Direct Animation Foundation Layer DirectPlay Direct3D DirectDraw Draw DirectSound DirectInput t Direct3D

DirectShow (DShow) 미디어플레이 / 캡쳐기능 DirectDraw (DDraw) 2 차원그래픽 API Direct3D Mobile (D3DM) 3 차원그래픽 API

Windows Embedded CE Windows CE.NET 4.x 이후 DX 포함은제조사선택적디바이스마다개발환경이상이함 (SDK필수) Windows Mobile DX 반드시지원 Windows Mobile 5.0 이상의모든디바이스 DShow, DDraw, D3DM 반드시포함개발자에게 Target 플렛폼의호환성보장

COM 인터페이스 DllRegisterServer : 레지스트리에등록 DllUnregisterServer : 레지스트리에해제 DllGetClassObject : 호출시연결 DllCanUnloadNow : 호출해제및연결해제 IUnknown 템플릿기반 HKEY_CLASSES_ROOT\CLSID\{CLSID} QueryInterface COM 으로부터객체를추출. UUID형태사용

embedded Visual C++ Windows CE 5.0 / WM 4.0 까지지원 Windows Embedded CE 6.0 / WM 5.0 불가 Visual Studio 2005 Windows CE 5.0 / WM 4.0 부터지원 Device Emulator Manager 1.0 Platform Builder 6.0 R2 for Visual Studio 2005 Visual Studio 2008 VS2005 와동일지원 Device Emulator Manager 3.0.NET Compact Framework 이용가능

Internet Explorer 6 DirectShow 재생 / 캡쳐응용프로그램 ActiveX ( 플레이어 & 카메라 ) DirectShow 필터그래프매니져 캡쳐 프리뷰 코덱 Muxer Renderer 네트워크파일시스템 DirectDraw GDI 웨이브 API 파일시스템 네트워크 파일시스템 그래픽 오디오 비디오 카메라드라이버 하드웨어

DirectShow(DShow) 는 DirectX 의일부주요기능 고품질의비디오 / 오디오재생과녹음이가능다양한형식의미디어지원재생, 캡쳐, 변환기능지원 구조 COM 기반의 Control WDM(Windows Driver Model) 기반캡쳐기능지원 Code Name Quartz Active Movie 1.0 DirectShow 2.0

응용프로그램응용프로그램 DirectShow DirectShow 통지통지호출호출소스필터소스필터변환필터변환필터랜더필터랜더필터필터그래프매니져필터그래프매니져 VCM/ACM VCM/ACM 코덱코덱소스필터소스필터변환필터변환필터랜더필터랜더필터파일시스템파일시스템웨이브웨이브 API API DirectDraw DirectDraw 파일시스템파일시스템커널커널스트리밍스트리밍 WDM WDM 캡쳐디바이스캡쳐디바이스 VFW VFW 캡쳐디바이스캡쳐디바이스하드웨어하드웨어디코더디코더사운드카드사운드카드비디오카드비디오카드

COM 인터페이스 IGraphBuilder 필터그래프 (Filter Graphs) 생성 IMediaControl : 미디어플레이제어 ( 재생, 중지 ) IMediaEventEx : 이벤트통지 IVideoWindow : 비디오윈도우 IBasicAudio : 오디오볼륨및밸런스제어 IBasicVideo : 비디오출력정보제공및제어 IMediaSeeking : 미디어위치이동

#include <streams.h> int WINAPI WinMain( ) { IGraphBuilder *pgraph = NULL; IMediaControl *pmediacontrol = NULL; IMediaEvent *pmediaevent = NULL; // COM 초기화 CoInitializeEx(NULL, COINIT_MULTITHREADED); // Step1: 필터그래프매니져생성 CoCreateInstance( CLSID_FilterGraph, NULL, CLSCTX_INPROC, IID_IGraphBuilder, (void **)&pgraph); pgraph->queryinterface(iid_imediacontrol, (void **)&pmediacontrol); pgraph->queryinterface(iid_imediaevent, IMediaEvent (void **)&pmediaevent);

< 이어서 > // Step2: 그래프빌드 pgraph->renderfile(l"\\hello_world.avi",null); // Step3: 재생및이벤트대기 pmediacontrol->run(); long evcode; pmediaevent->waitforcompletion(infinite,evcode); eda e at oco peto Code); } // 해제 pmediacontrol->release(); pmediaevent->release(); pgraph->release(); // COM해제 CoUninitialize();

비디오윈도우담을윈도우지정 // pgraph 는필터그래프매니져를통해얻은포인터 IVideoWindow *pvidwin = NULL; pgraph->queryinterface(iid_ivideowindow, (void **)&pvidwin); pvidwin->put_owner((oahwnd)g_hwnd); 비디오윈도우스타일변경 pvidwin->put_windowstyle(ws_child i i d SC WS_CLIPSIBLINGS); SC S

비디오이미지핸드링 비디오의소스를일부만선택가능 HRESULT SetSourcePosition ( long Left, long Top, long Width, long Height ); 비디오의출력위치지정가능 HRESULT SetDestinationPosition ( long Left, long Top, long Width, long Height );

IAMDevMemoryAllocator IAMDevMemoryControlM IAMMediaContent IAMMediaContentEx IAMovieSetup IAMPlayList IAMPlayListItem IAMStreamControl IAMStreamSelect IAsyncReader IBaseFilter IDirectDrawVideo IDistributorNotify IDMOWrapperFilter IEnumFilters IEnumMediaTypes IEnumPins IEnumRegFilters IFileSourceFilter IFilterGraph IFilterGraph2 IFilterMapper IFilterMapper2 IGraphVersion IMediaEvent IMediaEventSink IMediaFilter IMediaPosition IMediaSample IMediaSample2 IMediaStream IMemAllocator IMemInputPinI IMultiMediaStream INonDelegatingUnknown IOverlay IOverlayNotify IPin IQualityControl IQualProp IReferenceClock ISeekingPassThru IStreamSample IVPBaseConfig IVPBaseNotify IVPConfig IVPNotify

필터그래프 DShow 에서접근가능한형태로기본적인가공작업수행 동작 미디어파일읽기미디어파일로부터비디오와오디오신호분리비디오, 오디오신호분석및복원하드웨어로비디오, 오디오신호출력 필터 (Filter) DShow 의모든기능은필터간기능을연결해작동

Base 클래스 %WINCEROOT%\PUBLIC\DIRECTX\SDK\SAMPLES\ DSHOW\BASECLASSES BaseClass.lib lb로생성 프로젝트생성 COM프로젝트로생성 COM 공용함수 (DllRegisterServer, DllUnregisterServer) COM 인터페이스정보 CLSID Base 클래스기반의 User 클래스생성사용가필요한처리작업추가

CMediaSample CMediaType CMemAllocator CMsg CAggDirectDraw CAggDrawSurface CBaseReferenceClock CBaseRenderer CMsg CMsgThread COARefTime COutputQueue CAggDrawSurface CAMEvent CAMMsgEvent CAMSchedule CAMTh d CBaseRenderer CBaseStreamControl CBaseVideoRenderer CBaseWindow CB i A di COutputQueue CPosPassThru CPullPin CQueue CR fti CAMThread CAutoLock CBaseAllocator CBaseBasicVideo CBasicAudio CCritSec CDisp CDispBasic CRefTime CRendererInputPin CRendererPosPassThru CSource CBaseBasicVideo CBaseControlVideo CBaseDispatch CBaseFilter CDispBasic CEnumMediaTypes CEnumPins CFactoryTemplate CSource CSourcePosition CSourceSeeking CSourceStream CBaseInputPin CBaseList CBaseMediaFilter CBaseObject y p CGenericList CGuidNameList CLoadDirectDraw CMediaControl CSystemClock CTransformFilter CTransformInputPin CTransformOutputPin CBaseObject CBaseOutputPin CBasePin CMediaControl CMediaEvent CMediaPosition CTransformOutputPin CTransInPlaceFilter CTransInPlaceInputPin CTransInPlaceOutputPin p CUnknown CVideoTransformFilter FOURCCMap

소스필터 (Source Filter) CSource 클래스 변환필터 (Transform Filter) CTransformFilter 클래스 랜더필터 (Render Filter, Renderer) CBaseRenderer 클래스

IBasicAudio CBasicAudio IBasicVideo CBaseBasicVideo id, CBaseControlVideo IMediaSeeking CPosPassThru, CSourceSeeking IMediaControl CMediaControl IMediaEvent CMediaEvent IVideoWindow d CBaseControlWindow, CBaseVideoWindow. &

고재관 MOBILE DEVICES MICROSOFT MVP

Windows CE 응용프로그램개발기초교육 한국전자산업진흥회 전액국비무료, 24 시간 (4 일 6 시간 / 일 ) http://www.educ.or.kr 모바일단말상용화센터 전액국비무료, 1 주일이내, 현장방문교육실시 대구지역만해당 http://www.mtcc.or.kr

http://www.pdalab.org p// 고재관의커뮤니티 http://myaustin.egloos.com 고재관의블로그 Display, DirectShow, Newsgroup 관련정보 http://msdn2.microsoft.com/en-us/library/bb202047.aspx http://msdn2.microsoft.com/en-us/library/aa929615.aspx http://msdn2.microsoft.com/enmicrosoft com/en-us/library/aa924811.aspxaspx http://msdn2.microsoft.com/en-us/library/aa930379.aspx Microsoft.public.windowsce.app.development Microsoft.public.windowsce.embedded embedded Microsoft.public.windowsce.embedded.vc Microsoft.public.windowsce.platbuilder Microsoft.public.windowsce.targeted.device i t t d d i Microsoft.public.windowsce.testtools