1
我正在製作一個自定義的攝像頭用戶控件。來自webcam preview的圖片throws generic GDI + exception
我使用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");
}
另一個waS:
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:\驅動器是否允許(文件夾外).I在此類情況下遇到類似異常 – techno
@techno我幾乎確定問題是在權限中。我可以寫入我的應用程序數據文件夾。有沒有辦法寫入一個自定義文件夾(不是C:但可能在我的應用程序執行文件夾內),而無需從Windows設置權限? – Cranio
如果它不在c:\ Program Files \ – techno