Visual Studio (C#)로 작성된 재미있는 응용 프로그램이 있습니다. 궁금합니다. 화면에서 특정 방식으로 패널을 그립니다. 화면을 캡처하지 않고도 폼을 렌더링 할 수 있다면?Visual C# - 폼에서 이미지 렌더링?
감사
Visual Studio (C#)로 작성된 재미있는 응용 프로그램이 있습니다. 궁금합니다. 화면에서 특정 방식으로 패널을 그립니다. 화면을 캡처하지 않고도 폼을 렌더링 할 수 있다면?Visual C# - 폼에서 이미지 렌더링?
감사
는 "스크린 샷을 복용"에 의한 경우에 당신은 의미 System.Drawing.Graphics.CopyFromScreen
사용하고, 더 나은 방법이 "PrtSc 키을 보내" 및 this.PointToClient(Point.Empty)
대신 this.Location
입니다.
또는, this.DrawToBitmap
를 사용할 수 있습니다
using(Bitmap b = new Bitmap(this.Width, this.Height)) {
this.DrawToBitmap(b, new Rectangle(0, 0, this.Width, this.Height));
// Your form is now rendered into b.
}
이 양식에 포커스가없는 경우에도 작동합니다. 그러나 Aero가 활성화되어 있으면 테두리가 그려지고 Windows 기본 스타일로 그려집니다.
아니, 그것은 (즉, 당신이 요구하는지 무슨 경우) 라이브러리를 screenshotting 어떤 종류가 제공하는 것보다 다른 이미지로 형태의 시각적를 캡처 할 수 없습니다. 당신이 국경을 포함 할 경우, 단지 Size
대신 ClientSize
를 사용
using(Bitmap b = new Bitmap(this.ClientSize.Width, this.ClientSize.Height)) {
using(Graphics g = Graphics.FromImage(b)) {
g.CopyFromScreen(this.PointToClient(Point.Empty), Point.Empty, this.ClientSize);
}
// Your form is now rendered into b.
}
: