コード例 #1
0
        private void Capture_Captured(object sender, WebPageCapturedEventArgs e) {
            var file = e.CapturedFile;

            using (var fileStream = file.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) {
                var content = new MakuraContentStream();
                content.FileName = file.Name;
                content.Length = fileStream.Length;
                content.MimeType = MimeMapping.GetMimeMapping(file.Name);
                content.Stream = fileStream;

                var doc = new MakuraDocument();
                doc.ContentStream = content;
                doc.Name = file.Name;

                var eventArgs = new MakuraDocumentEventArgs();
                eventArgs.UpdatedDocument = doc;
                eventArgs.Path = "/CaptureImages";

                Changed?.Invoke(this, eventArgs);
            }
        }
コード例 #2
0
        void webBrowserDocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            //Set the Width and Height of the browser to match the page size acording to the scroll bars
            int webPageHeight = browser.Document.Body.ScrollRectangle.Height;
            int webPageWidth = browser.Document.Body.ScrollRectangle.Width;

            try {
                using (var bmp = new Bitmap(webPageWidth, webPageHeight)) {
                    browser.Size = new Size(webPageWidth, webPageHeight);

                    //Hide scroll bars so they wont show in the image capture
                    browser.ScrollBarsEnabled = false;

                    //capture the image from browser
                    browser.DrawToBitmap(bmp, new Rectangle(browser.Location.X, browser.Location.Y, webPageWidth, webPageHeight));

                    //save image
                    var tempPath = Path.Combine(Path.GetTempPath(), "\\CaptureImage-" + DateTime.Now.ToString("yyyyMMdd-HHmm") + ".jpg");
                    bmp.Save(tempPath, System.Drawing.Imaging.ImageFormat.Jpeg);
                }

                var capturedFile = new FileInfo(saveLocation);
                var args = new WebPageCapturedEventArgs(capturedFile, new Uri(this.CaptureURL));
                Captured?.Invoke(this, args);
            } catch {

            }
        }