재능과 학식이 얕아서 대충 이야기할 수밖에 없다.
Sourcedc = createdc ("디스플레이", 0,0,0)
화면을 소스로 하여 디바이스 장면 만들기
Dest DC = createcompatibledc (sourcedc)
방금 만든 장치 장면과 일치하는 메모리에 장치 장면 만들기
B handle = createcompatiblebitmap (sourcedc, 400, 300)' 표시 로케일
방금 만든 장치 장면과 호환되는 메모리에 비트맵 만들기
SelectObject DestDC, Bhandle
이 문장은 이해하기 어렵고, 함부로 말하지 않고, API 설명
을 보여 드리겠습니다BitBlt DestDC, 100,100,400,300, SourceDC, 0,0, amp;; HCC0020' 스냅샷 영역 설정
두 디바이스 장면 (DestDC 와 SourceDC) 간에 비트맵 복사
Wnd = Screen.ActiveForm.hwnd
오픈 clipboard wnd
EmptyClipboard
SetClipboardData 2, Bhandle
CloseClipboard
이 섹션은 클립보드에 대한 작업이며 내 API 도구에 대한 설명이 없습니다
대략 방금 메모리에 만든 비트맵을 클립보드에 넣는 것을 의미합니다
DeleteDC DestDC
디바이스 장면 삭제
ReleaseDC Dhandle, SourceDC
메모리에서 장치 장면 해제
Picture1.picture = clipboard.getdata ()
이 문장은 설명 할 필요가 없습니다. 클립보드에 있는 비트맵을 Picture1 로 다운로드하십시오.
= = = = = = = = = ========================
다음은 API 도구에서 찾은 관련 지침입니다. 도움이 되었으면 합니다.
CreateDC
설명
특수 장비에 대한 장치 장면 만들기
반환 값
Long, 새 장치 장면 핸들, 오류가 발생하면 0
기타
그리기 전에 장치 장면에 대한 비트맵을 선택해야 합니다. 더 이상 필요하지 않은 경우 장치 장면을 DeleteDC 함수를 사용하여 삭제할 수 있습니다. 삭제하기 전에 모든 객체를 원래 상태로 되돌려야 합니다. 디바이스 초기 설정을 사용할 수 있는 경우 문서 등록 정보
API 함수는 DEVMODE 구조를 로드합니다.
화면 장치 장면 (DISPLAY) 을 사용할 때는 다른 응용 프로그램의 모양을 방해할 수 있으므로 주의해야 합니다.
예: 화면의 왼쪽 위 모서리 근처에 직사각형 그리기
Dcamp;; = CreateDCBynum("DISPLAY ",vbNullString,
VbNullString, 0)
Dlamp;; = Rectangle(dcamp;; , 5,5,100,100)
찾기 테이블
Lp drivername-string, vbNullString 을 사용하여 null 값을 이 매개 변수에 전달합니다. 단, 1, DISPLAY 를 사용하지 않는 한 전체 화면을 가져오는 장치 장면입니다. 2, WINSPOOL, 액세스 인쇄 드라이버
Lp device name-string, 사용되는 특수 장비의 이름입니다. 이 이름은 플롯 관리자 할당 표시
입니다Lp output 은 vbNullString 을 사용하여 null 값을 매개 변수에 전달하는 문자열
Lp initdata---devmode, 이 구조는 초기 값을 저장합니다. CreateDCBynum 을 사용하여 0(NULL) 값을 전달하면 기본 설정 적용
CreateCompatibleDC
설명
특정 장치 장면과 일치하는 메모리 장치 장면 만들기
반환 값
Long, 새 장치 장면 핸들, 오류가 발생하면 0
기타
그리기 전에 장치 장면에 대한 비트맵을 선택해야 합니다. 더 이상 필요하지 않은 경우 장치 장면을 DeleteDC 함수를 사용하여 삭제할 수 있습니다. 삭제하기 전에 모든 개체가 초기 상태
로 되돌려야 합니다찾기 테이블
Hdc------long, 장치 장면 핸들. 새로운 장비 장면은 그것과 일치할 것이다. 0 이 되어 화면과 일치하는 장치 장면을 만들 수도 있습니다.
CreateCompatibleBitmap
설명
지정된 장치 장면과 호환되는 장치 관련 비트맵을 만듭니다.
반환 값
Long, 실행이 비트맵 핸들을 성공적으로 반환했습니다. 0 은 실패
를 나타냅니다기타
메모리 장치 장면은 컬러 비트맵 및 단색 비트맵과 호환됩니다. 이 함수는 현재 선택한 hdc 의 장면과 호환되는 장면을 만드는 데 사용됩니다. 메모리 장면의 경우 기본 비트맵은 단색입니다. 메모리 장치 장면에 DIBSection 이 선택된 경우 이 함수는 DIBSection 의 핸들을 반환합니다.
Hdc 가 장치 비트맵인 경우 결과 비트맵은 장치와 호환되어야 합니다 (즉, 컬러 장치가 컬러 비트맵을 생성해야 함)
NWidth 와 nHeight 가 0 이면 반환된 비트맵은 1×1 단색 비트맵
입니다비트맵이 더 이상 필요하지 않으면 DeleteObject 함수를 사용하여 사용된 메모리와 자원을 확보해야 합니다
찾기 테이블
Hdc------long, 장치 장면 핸들
Nwidth---long, 비트맵 너비 (픽셀 단위
Nheight---long, 비트맵 높이 (픽셀 단위
선택 개체
설명
각 장치 장면에는 선택한 모양 오브젝트가 있을 수 있습니다. 여기에는 비트맵, 브러시, 글꼴, 브러쉬, 영역 등이 포함됩니다. 한 번에 하나의 오브젝트만 장치 장면에 선택할 수 있습니다. 선택한 오브젝트는 장치 장면의 그리기 작업에 사용됩니다. 예를 들어 현재 선택한 브러쉬는 장치 장면에 그려지는 선 색상과 스타일
을 결정합니다반환 값
Long, 이전에 선택한 장치 장면과 동일한 hObject 유형의 오브젝트에 대한 핸들, 오류를 나타내는 0. 선택한 객체가 영역인 경우 결과는 SIMPLEREGION,
상수 중 하나입니다COMPLEXREGION 또는 NULLREGION 은 영역을 설명하고 GDI_ERROR 는 오류
를 나타냅니다기타
반환 값은 일반적으로 DC 를 선택한 개체의 원래 값을 가져오는 데 사용됩니다. 그리기 작업이 완료되면 일반적으로 원래 오브젝트가 장치 장면으로 다시 선택됩니다. 장치 장면을 지우기 전에 원래 오브젝트 복원
에 주의해야 합니다찾기 테이블
Hdc------long, 장치 장면의 핸들
H object--long, 브러시, 비트맵, 브러시, 글꼴 또는 영역의 핸들
BitBlt
설명
한 장치 장면에서 다른 장치 장면으로 비트맵을 복사합니다. 소스 및 타겟 DC 는 서로 호환되어야 함
반환 값
Long, 0 이 아니면 성공, 0 이면 실패. Getlasterror 가 설정됩니다
기타
NT 환경에서는 표준 전송에서 소스 디바이스 장면에서 잘라내기 또는 회전 처리가 필요한 경우 이 함수 실행이 실패합니다.
대상과 소스 DC 간의 매핑 관계에서 전송 중 사각형의 픽셀 크기를 변경해야 하는 경우 이 함수는 필요에 따라 자동으로 확장, 회전, 축소 또는 끊어져 최종 전송 프로세스
를 완료합니다찾기 테이블
Hde stdc----long, 대상 장치 장면
X, y----long, 대상 DC 에서 대상 직사각형의 왼쪽 위 모서리 위치를 설명하는 점. 대상 DC 의 논리 좌표로 표시
NWidth, nHeight-Long, 전송할 이미지의 너비와 높이
Hs rcdc------long, 소스 디바이스 장면.
래스터 연산에서 소스를 지정하지 않은 경우 0
로 설정해야 합니다XSrc, YSRC 는 소스 DC 에서 소스 직사각형의 왼쪽 위 모서리 위치를 설명하는 점입니다. 소스 DC 의 논리 좌표로 표시
Dwr op-----long, 전송 프로세스에서 수행할 래스터 연산
(한 문장 삽입: amp;; HCC0020 은 래스터 연산의 상수 vbsrccopy 여야 함)
DeleteDC
설명
전용 장비 장면 또는 정보 장면을 삭제하고 관련 창 리소스를 모두 확보합니다. GetDC 함수가 검색하는 장치 장면에 사용하지 마십시오
반환 값
Long, 실행 성공은 0 이 아니고 실패는 0
입니다기타
장치 장면에 선택된 오브젝트가 있는 경우 이 함수를 호출하기 전에 선택해야 합니다. 이렇게 하려면 초기 개체를 다시 DC 로 선택하거나 SaveDC, RestoreDC 함수를 사용하여 DC 가 만들어진 상태로 복원
할 수 있습니다Vb 에서
사용Vb hdc 속성에서 가져온 장치 장면 핸들
에 사용하지 마십시오찾기 테이블
Hdc------long, 삭제할 장치 장면
릴리즈 EDC
설명
GetDC 또는 GetWindowDC 함수를 호출하여 얻은 지정된 장치 장면을 해제합니다. 클래스 또는 개인 장치 장면에 유효하지 않지만 이러한 호출은 손상을 주지 않습니다.
반환 값
Long, 실행 성공 1, 그렇지 않으면 0
기타
CreateDC 와 같은 DC 생성 함수를 사용하여 생성된 장치 장면에는 이 함수를 사용하지 마십시오
찾기 테이블
Hwnd-----long, 해제할 장치 장면과 관련된 창 핸들
Hdc------long, 해제할 장치 장면 핸들