나는 사용자 정의 웹캠 사용자 정의 컨트롤을 만들고있어.웹캠 미리보기에서 이미지가 일반 GDI + 예외를 던졌습니다
Microsoft Expression Encoder를 사용하고 컨트롤 내의 패널에 PreviewWindow를 설정합니다.
모든 괜찮아, 내가 이미지를 잡아하려고 할 때를 제외하고, 나는 예외가 얻을 :
일반 GDI + 예외를
내 첫 번째 시도였다
using (var bmp = new Bitmap(p.Width, p.Width))
{
panel1.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height));
bmp.Save(@"c:\test.png");
}
또 다른 예 :
using (Bitmap bitmap = new Bitmap(panelVideoPreview.Width, panelVideoPreview.Height))
{
using (Graphics g = Graphics.FromImage(bitmap))
{
Rectangle rectanglePanelVideoPreview = panelVideoPreview.Bounds;
Point sourcePoints = panelVideoPreview.PointToScreen(new Point(panelVideoPreview.ClientRectangle.X, panelVideoPreview.ClientRectangle.Y));
g.CopyFromScreen(sourcePoints, Point.Empty, rectanglePanelVideoPreview.Size);
}
string strGrabFileName = String.Format("C:\\Snapshot.jpg", DateTime.Now);
bitmap.Save(strGrabFileName, ImageFormat.Jpeg);
c : \ 드라이브에 충분한 공간이 있는지 확인하거나 c : \ 드라이브에 쓰기가 가능합니다 (폴더 외부). 해당 시나리오에서 유사한 예외가 발생했습니다. – techno
@techno 문제가 권한에. 내 App 데이터 폴더에 쓸 수 있습니다. Windows에서 사용 권한을 설정하지 않고 사용자 지정 폴더 (C :가 아니라 응용 프로그램 실행 폴더 내)에 쓸 수있는 방법이 있습니까? – Cranio
c : \ Program Files \ – techno