2013-03-08 3 views
3

How to take a screenshot with FireMonkey (multi-platforms)의 코드에서 TImage에 스크린 샷 (전체 양식뿐만 아니라 전체 화면)을 작성합니다.이 코드는 정상적으로 작동합니다. 그러나 이미지에 마우스 커서를 포함하고 싶습니다. 그래서 두 번째 단계에서 TImage 위에 커서를 그리는 솔루션을 찾고 있습니다.Firemonkey로 찍은 스크린 샷에 마우스 커서를 포함하십시오

Windows VCL 프로젝트에서 http://www.swissdelphicenter.ch/torry/showcode.php?id=1124의 코드가 잘 실행되고 커서가 TImage에 그려집니다. 하지만 Firemonkey HD 프로젝트에서는 Windows Firemonkey HD 프로젝트에서 작동하지 않습니다.

Canvas.Draw(CurPoxY, CurPoxY, MyCursor); 

Firemonkey에서는 Draw 메서드가 없으므로이 메서드를 사용할 수 없습니다. 나는 또한 "DrawIcon()"시도했지만 항상 False를 반환합니다. 이 코드를 Windows의 Firemonkey에서 작동 시키려고합니다.

답변

1

나는 마침내이 작업을했습니다. 트릭은 다음과 같습니다 :

TImages가 Firemonkey 아래에있는 FMX.Types.TBitmap 유형의 비트 맵에서 WinIWIWindows의 DrawIcon() 함수가 작동하지 않습니다. 그래서 Vcl.Graphics.TBitmap 타입의 임시 Bitmap을 만들어서 커서 아이콘을 그려야 만했습니다. 나는 임시 MemoryStream을 만들고 내 임시 비트 맵의 ​​SaveToStream 메서드를 사용하여 내 Form (Image1.Bitmap.LoadFromStream (TmpMemoryStream))의 TImage에로드 할 수있는 MemoryStream에 쓸 수 있습니다.

관련 문제