Example #1
0
 private void SetThumbnail(Bitmap thumbnail)
 {
     image.Source = ImgConverter.BitmapToImageSource(thumbnail);
     _bitmap?.Dispose();
     _bitmap = thumbnail;
     slider.Focus();
 }
Example #2
0
        private void FindDuplicate()
        {
            Bitmap icon;

            if ((listView.SelectedItem is FileElement) && IsImage((listView.SelectedItem as Element).Name))
            {
                MemoryStream ms = new MemoryStream();
                (listView.SelectedItem as FileElement).SaveTo(ms);
                ms.Position = 0;
                Bitmap tmp = new Bitmap(ms);
                icon = ImgConverter.ResizeImage(tmp, thumbnailSize);
                tmp?.Dispose();
                ms.Dispose();
            }
            else
            {
                icon = (listView.SelectedItem as Element).Icon;
            }

            DirElement dir = (listView.Tag as DirElement) != null ? (listView.Tag as DirElement) : xdb;
            Finder     f   = new Finder(dir, icon, ShowList);

            icon    = null;
            f.Owner = this;
            f.Show();
        }
        public PropertiesWindow(List <Element> elements) : this()
        {
            Title = "Свойства: ";
            for (int i = 0; i < Math.Min(elements.Count, 3); i++)
            {
                Title += (i < (Math.Min(elements.Count, 3) - 1)) ? elements[i].Name + ", " : elements.Count > 3 ? elements[i].Name + "..." : elements[i].Name;
            }

            ulong data_size;
            ulong fullSize;
            ulong fullEncryptSize;

            GetSize(elements, out data_size, out fullSize, out fullEncryptSize);
            ParentLabel.Text          = GetPath(elements);
            FilesCountLabel.Text      = GetFilesCount(elements).ToString("#,0");
            DirsCountLabel.Text       = GetDirsCount(elements).ToString("#,0");
            SizeLabel.Text            = SizeToStr(data_size) + " (" + data_size.ToString("#,0") + " байт)";
            FullSizeLabel.Text        = SizeToStr(fullSize) + " (" + fullSize.ToString("#,0") + " байт)";
            FullEncryptSizeLabel.Text = SizeToStr(fullEncryptSize) + " (" + fullEncryptSize.ToString("#,0") + " байт)";

            if (elements.Count == 1)
            {
                element          = elements[0];
                Thumbnail.Source = ImgConverter.BitmapToImageSource(element.Icon);
            }
            else
            {
                IconRow.Height = new GridLength(0, GridUnitType.Pixel);
            }
        }
Example #4
0
 private void MenuItem_CreateNewTextFile(object sender, RoutedEventArgs e)
 {
     if ((listView.Tag as Element) != null)
     {
         RenameWindow newDoc = new RenameWindow();                // ".txt", ElementType.File);
         newDoc.Owner         = this;
         newDoc.Title         = "Новый текстовый документ";
         newDoc.label.Content = "Имя файла";
         if ((newDoc.ShowDialog() == true) && (newDoc.textBox.Text != ""))
         {
             Stream      ms          = Stream.Null;
             Bitmap      bmp         = ImgConverter.GetIcon(".txt", thumbnailSize);
             FileElement newTextFile = null;
             try
             {
                 newTextFile = (listView.Tag as DirElement).AddFile(ms, newDoc.textBox.Text + ".txt", false, bmp);
             }
             catch (Exception ex)
             {
                 System.Windows.MessageBox.Show(ex.Message);
             }
             bmp?.Dispose();
             ShowFiles(listView.Tag as Element, newTextFile);
         }
     }
 }
        private static void connectRoutine_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            Image <Bgr, byte> connecting = new Image <Bgr, byte>(new Bitmap((int)MainWindow.mMainWindow.ibOriginal.Width, (int)MainWindow.mMainWindow.ibOriginal.Height));

            connecting.SetValue(new Bgr(Color.Gray));   // Set background color
            ShapeNDraw.drawString("Connecting", connecting, new System.Drawing.Point(connecting.Width / 3 - 10, connecting.Height / 2 - 10), 1, Color.White);

            Image <Bgr, byte> connected = new Image <Bgr, byte>(new Bitmap((int)MainWindow.mMainWindow.ibOriginal.Width, (int)MainWindow.mMainWindow.ibOriginal.Height));

            connected.SetValue(new Bgr(Color.Black));   // Set background color
            ShapeNDraw.drawString("Connected", connected, new System.Drawing.Point(connected.Width / 3 - 10, connected.Height / 2 - 10), 1, Color.White);


            if (e.ProgressPercentage == 0)
            {
                MainWindow.mMainWindow.ibOriginal.Source = ImgConverter.ToBitmapSource(connecting);
                MainWindow.mMainWindow.Btn_PR.IsEnabled  = false;
            }


            if (e.ProgressPercentage == 100)
            {
                MainWindow.mMainWindow.ibOriginal.Source = ImgConverter.ToBitmapSource(connected);
                MainWindow.mMainWindow.Btn_PR.IsEnabled  = true;
                PreviewRoutine.startPreview(PreviewRoutine._previewFPS);
            }
        }
        private void btnAdd_Click(object sender, EventArgs e)
        {
            try
            {
                product = new PRODUCT();

                if (idSupply != -1)
                {
                    product.title     = tbName.Text;
                    product.category  = tbCategory.Text;
                    product.size      = Convert.ToInt32(tbSize.Text);
                    product.color     = tbColor.Text;
                    product.photo     = ImgConverter.ImageToString(pictureBoxPhoto.Image);
                    product.price     = Convert.ToInt32(tbPrice.Text);
                    product.count     = Convert.ToInt32(tbCount.Text);
                    product.id_supply = idSupply;
                }

                productsControlS.Add(product);
                Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private async void ImageA_Clicked(object sender, EventArgs e)
        {
            try
            {
                var file = await CrossFilePicker.Current.PickFile();

                if (file == null)
                {
                    return;
                }
                //byte[] byteArray = null;
                // GET A PIC STREAM FROM CROSSFILEPICKER
                Stream fileData = file.GetStream();
                //GET AN IMAGE SOURCE FROM LOCAL FILES
                //ImageSource imgSource = ImageSource.FromResource(@"MasterDetailDemo.Resources.Drawable.about.png");
                //GET STREAM FROM IMAGESOURCE FOR LOCAL FILES
                //Stream stream = ImgConverter.GetStreamFromImageSource(imgSource);
                //GET STREAM FROM IMAGE SOURCE
                //Stream stream = ImgConverter.GetStreamFromImageSource(this.ImageA.Source);
                // CONVERT STREAM TO BYTE[]
                byte[] byteArray = ImgConverter.GetByteArrayFromStream(fileData);
                // READ QR CODE DATA FROM PICS
                string result = DependencyService.Get <IZxingService>().GetDecodedValue(byteArray);
                ResultText.Text = result;
                HandleResult(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
            }
        }
Example #8
0
        private void Btn_runML_Click(object sender, RoutedEventArgs e)
        {
            MainWindow.mMainWindow.listBox.Items.Clear();
            switch (MLCore.MLModelSelected)
            {
            case MLModel.ResNet:
                ResNet.EvaluationSingleImage(GV.imgOriginal);

                for (int i = 0; i < ResNet.resultList.Count; i++)
                {
                    MainWindow.mMainWindow.listBox.Items.Add(string.Format("{0}: {1}", MLCore.MLSelectedLabels[i], ResNet.resultList[i]));
                }
                BindMngr.GMessage.value = string.Format("This must be a {0}!", ResNet.OutputString, ResNet.OutputProbablility);
                break;

            case MLModel.FastRCNN:
                FastRCNN.EvaluateObjectDetectionModel();
                break;

            case MLModel.Yolo:
                GV.imgProcessed = new Image <Bgr, byte>(mYolo.Detect(GV.imgOriginal.ToBitmap()));
                MainWindow.mMainWindow.ibOriginal.Source = ImgConverter.ToBitmapSource(GV.imgProcessed);
                break;
            }
        }
Example #9
0
        private void ibOriginal_MouseDown(object sender, MouseButtonEventArgs e)
        {
            _mouseDown = true;
            if (GV.imgOriginal != null)
            {
                PreviewRoutine.StopPreview();
                ibOriginal.Cursor = Cursors.Cross;
                System.Drawing.Point p = new System.Drawing.Point();
                p.X = (int)e.GetPosition(ibOriginal).X;
                p.Y = (int)e.GetPosition(ibOriginal).Y;

                if ((bool)Radio_Color.IsChecked && (bool)Chk_multiColorPoints.IsChecked)
                {
                    if (GV._remainColorPoints > 0)
                    {
                        Rectangle bond = new Rectangle(
                            p.X - GV._colorRegionSize / 2, p.Y - GV._colorRegionSize / 2,
                            GV._colorRegionSize, GV._colorRegionSize);

                        GV.imgOriginal.Draw(bond, new Bgr(Color.AliceBlue), 1);

                        MainWindow.mMainWindow.ibOriginal.Source = ImgConverter.ToBitmapSource(GV.imgOriginal);

                        regionImgSet[GV._remainColorPoints - 1] = GV.imgOriginal_pure.Copy(bond);

                        GV._remainColorPoints--;
                    }
                }
                else
                {
                    ImgCropping.WPF_mouseDown(GV.imgOriginal, ibOriginal, p, GV._zoomFactor);
                }
            }
        }
Example #10
0
        private static Rectangle GetRectangleMask(Bitmap mask)
        {
            Matrix matr = ImgConverter.BmpToMatr(mask);

            int startX = 0, endX = 0, startY = 1, endY = mask.Height;

            for (int i = 1; i < mask.Width; i++)
            {
                for (int j = startY; j < endY; j++)
                {
                    if (matr[j, i - 1] < 0.1 && matr[j, i] > 0.1)
                    {
                        startX = i;
                    }
                    if (matr[j, i - 1] > 0.1 && matr[j, i] < 0.1)
                    {
                        endX = i;
                        goto r;
                    }
                    if (matr[j - 1, i] < 0.1 && matr[j, i] > 0.1)
                    {
                        startY = j;
                    }
                    if (matr[j - 1, i] > 0.1 && matr[j, i] < 0.1)
                    {
                        endY = j;
                    }
                }
            }

r:

            return(new Rectangle(startX, startY, endX - startX, endY - startY));
        }
        public DuplicatesWindow(Bitmap origFileThumbnail, string origFileName, List <Element> duplicatesList) : this()
        {
            OrigImage.Source  = ImgConverter.BitmapToImageSource(origFileThumbnail);
            OrigFileName.Text = origFileName;

            listView.ItemsSource = new BindingList <Element>(duplicatesList.OrderByDescending(x => x.Type).ToList());
        }
        private void Img_viewer_MouseMove(object sender, System.Windows.Input.MouseEventArgs e)
        {
            lbl_imgInfo.Content = $"Mouse Location: [{e.GetPosition(Img_viewer).X : 0}, {e.GetPosition(Img_viewer).Y : 0}]";
            if (currentImage != null)
            {
                System.Drawing.Point p = new System.Drawing.Point();
                p.X = (int)e.GetPosition(Img_viewer).X;
                p.Y = (int)e.GetPosition(Img_viewer).Y;
                if (!selectingArea)
                {
                    return;
                }

                if (((double)p.X / zoomFactor_x) != X0)
                {
                    X1 = ((double)p.X / zoomFactor_x);
                }
                if (((double)p.Y / zoomFactor_y) != Y0)
                {
                    Y1 = ((double)p.Y / zoomFactor_y);
                }

                cropRect = ShapeNDraw.MakeRectangle(X0, Y0, X1, Y1);

                Bitmap bmp = currentImage.Copy().ToBitmap();
                selectedGraphics = Graphics.FromImage(bmp);
                selectedGraphics.FillRectangle(new SolidBrush(Color.FromArgb(128, 72, 145, 220)), cropRect);
                Img_viewer.Source = ImgConverter.ToBitmapSource(bmp);
            }
        }
Example #13
0
 private void Btn_setOCRArea_Click(object sender, RoutedEventArgs e)
 {
     if (GV.mCamera != null && GV.mCamera.IsConnected)
     {
         if (PreviewRoutine.IsCapturing)
         {
             PreviewRoutine.StopPreview();
             BindMngr.GMessage.value = "Select the area and hit set area again to confirm";
         }
         else if (!PreviewRoutine.IsCapturing && ImgCropping.rect.Width * ImgCropping.rect.Height != 0)
         {
             OCR.croppedOCRArea = ImgCropping.rect;
             PreviewRoutine.startPreview(PreviewRoutine._previewFPS);
             BindMngr.GMessage.value = "Area set! Only do OCR inside the red rectangle!";
         }
     }
     else if (!PreviewRoutine.IsCapturing && ImgCropping.rect.Width * ImgCropping.rect.Height != 0)   //crop static picture
     {
         OCR.croppedOCRArea      = ImgCropping.rect;
         BindMngr.GMessage.value = "Area set! Only do OCR inside the red rectangle!";
         MainWindow.mMainWindow.ibOriginal.Source = ImgConverter.ToBitmapSource(GV.imgOriginal);
         Image <Bgr, byte> bm = GV.imgOriginal.Copy();
         bm.Draw(OCR.croppedOCRArea, new Bgr(Color.Red), 2);
         MainWindow.mMainWindow.ibOriginal.Source = ImgConverter.ToBitmapSource(bm);
     }
 }
Example #14
0
 private void Btn_staticReset_Click(object sender, RoutedEventArgs e)
 {
     if (GV.imgOriginal_save != null)
     {
         GV.imgOriginal = GV.imgOriginal_save.Copy();
     }
     ibOriginal.Source = ImgConverter.ToBitmapSource(GV.imgOriginal);
 }
Example #15
0
        private void button4_Click(object sender, EventArgs e)
        {
            string path = "1.jpg";

            Bitmap bitmap = ImgConverter.GetBitmap(path);

            matrix = ImgConverter.BmpToMatr(bitmap);
            heatMapControl1.CalculateHeatMap(matrix);
        }
Example #16
0
        private void button1_Click(object sender, EventArgs e)
        {
            Bitmap bitmap = ImgConverter.GetBitmap("1.jpg");

            bitmap            = ImgConverter.BmpResizeM(bitmap, 400);
            pictureBox1.Image = bitmap;
            tensor            = ImgConverter.BmpToTensor(bitmap); // Конвертирование изображение -> тензор
            pictureBox2.Image = ImgConverter.ToBitmap(tensor);    // Конвертирование тензор -> изображение
            Decomposition();
        }
Example #17
0
 private void FEditProduct_Load(object sender, EventArgs e)
 {
     tbName.Text           = product.title;
     tbCategory.Text       = product.category;
     tbSize.Text           = product.size.ToString();
     tbColor.Text          = product.color;
     pictureBoxPhoto.Image = ImgConverter.ImageFromString(product.photo);
     tbPrice.Text          = product.price.ToString();
     tbCount.Text          = product.count.ToString();
 }
Example #18
0
        private void lvClientsProducts_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (lvClientsProducts.SelectedRows.Count == 0)
            {
                return;
            }

            pbClientProductPhoto.Image = ImgConverter.ImageFromString(lClientsProducts[lvClientsProducts.SelectedRows[0].Index]
                                                                      .Product.photo);
        }
        private void Img_save(object sender, RoutedEventArgs e)
        {
            SaveFileDialog dialog = new SaveFileDialog();

            dialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

            if (dialog.ShowDialog() == true)
            {
                ImgConverter.CreateBitmapFromVisual(ImgCanvas, dialog.FileName);
            }
        }
Example #20
0
 private void Chk_multiColorPoints_Checked(object sender, RoutedEventArgs e)
 {
     if (PreviewRoutine.IsCapturing)
     {
         PreviewRoutine.StopPreview();
         Thread.Sleep(300);
         if (GV.imgOriginal_pure == null)
         {
             MainWindow.mMainWindow.ibOriginal.Source = ImgConverter.ToBitmapSource(GV.imgOriginal_pure);
         }
     }
 }
Example #21
0
 private void Window_PreviewKeyDown(object sender, KeyEventArgs e)
 {
     if ((Keyboard.Modifiers == ModifierKeys.Control) && (e.Key == Key.V))
     {
         if (Clipboard.ContainsImage())
         {
             Bitmap tmp = ImgConverter.BitmapFromSource(Clipboard.GetImage());
             SetThumbnail(ImgConverter.ResizeImage(tmp, MainWindow.thumbnailSize));
             tmp?.Dispose();
         }
     }
 }
Example #22
0
        private void File_loadImg_Click(object sender, RoutedEventArgs e)
        {
            Bitmap loadPic = Tools.loadPicture_withDialog();

            if (loadPic != null)
            {
                GV.imgOriginal_save = ImgStiching.createFixRatioBitmap((new Image <Bgr, byte>(loadPic)).Copy(), 4, 3);
                GV.imgOriginal      = GV.imgOriginal_save.Copy();
                ibOriginal.Source   = ImgConverter.ToBitmapSource(GV.imgOriginal);
                GV.IsPictureLoaded  = true;
                GF.UpdateImgInfo();
            }
        }
Example #23
0
        private ImgConverter GetImgConverter()
        {
            ImgConverter imgConverter = new ImgConverter();

            // set the HTML viewer width and height in pixels
            // the default value is 1024 pixels for width and 0 for height 
            imgConverter.HtmlViewerWidth = HtmlViewerWidth;
            imgConverter.HtmlViewerHeight = HTMLViewerHeight;
            // set if the JavaScript is executed during conversion - default value is true
            imgConverter.JavaScriptEnabled = JavascriptEnabled;

            return imgConverter;
        }
Example #24
0
        private void Btn_setReference_Click(object sender, RoutedEventArgs e)
        {
            if (ImgCropping.rect.Width * ImgCropping.rect.Height != 0)
            {
                Image <Bgr, byte> Img = GV.imgOriginal_pure;
                GV.ref_img         = Img.Copy(ImgCropping.rect).Convert <Bgr, byte>(); //new Image<Gray, Byte>(mCrop.cropBitmap(imgOriginal.ToBitmap(), mCrop.rect));
                ibReference.Source = ImgConverter.ToBitmapSource(GV.ref_img);

                if (GV.mCamera.IsConnected)
                {
                    PreviewRoutine.startPreview(PreviewRoutine._previewFPS);
                }
            }
        }
 private void DrawRegion(imgInfo imgIn, ref Image <Bgr, byte> image)
 {
     foreach (regionInfo ri in imgIn.regionInfoList)
     {
         Bitmap bmp = image.ToBitmap();
         selectedGraphics = Graphics.FromImage(bmp);
         selectedGraphics.DrawRectangle(new Pen(Color.Red), ri.rect);
         selectedGraphics.DrawString($"{ri.labelIndex}-{labelSet[ri.labelIndex]}"
                                     , new Font("Arial", 9), new SolidBrush(Color.Red), ri.rect.X, ri.rect.Y);
         image = new Image <Bgr, byte>(bmp);
     }
     /// Update final image
     Img_viewer.Source = ImgConverter.ToBitmapSource(image.ToBitmap());
 }
Example #26
0
        private void Window_Drop(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);

                if ((files.Length > 0) && (MainWindow.IsImage(files[0])))
                {
                    Bitmap tmp = new Bitmap(files[0]);
                    SetThumbnail(ImgConverter.ResizeImage(tmp, MainWindow.thumbnailSize));
                    tmp?.Dispose();
                }
            }
        }
        /// <summary>
        /// Add music file to dataset
        /// </summary>
        /// <param name="pathToFile">path to music file (only mp3 or wav)</param>
        public void Add(string pathToFile, SaveInfo saveInfo = SaveInfo.SaveAsMatrix)
        {
            FileInfo fileInfo = new FileInfo(pathToFile);
            Vector   sound;
            WavMp3   loader = new WavMp3();
            int      len;


            if (!fileInfo.Exists)
            {
                throw new Exception("The specified file does not exist!");
            }

            if (fileInfo.Extension == ".mp3")
            {
                sound = loader.LoadFromMp3(pathToFile);
            }
            else if (fileInfo.Extension == ".wav")
            {
                sound = loader.Load(pathToFile);
            }
            else
            {
                throw new Exception("unknow format");
            }

            time = DateTime.Now.Millisecond;
            len  = TSemple * loader.Fd;
            Vector[] semples = Vector.GetWindows(sound, len, len); // Получение непересекающихся отрезков


            for (int i = 0; i < semples.Length; i++)
            {
                Matrix spectrogram = FFT.TimeFrTransformHalf(sound, fr);
                spectrogram = spectrogram.TransformMatrix(x => Math.Log(x + Setting.Eps));// Логарифм

                if (saveInfo == SaveInfo.SaveAsMatrix)
                {
                    MatrixSaver.Save($"{outDir}\\{NameGen(i)}.matr", spectrogram);
                }
                else
                {
                    double min    = spectrogram.Min();
                    double max    = spectrogram.Max();
                    Bitmap bitmap = ImgConverter.ToBitmap((spectrogram - min) / (max - min));
                    bitmap.Save($"{outDir}\\{NameGen(i)}.jpg");
                }
            }
        }
Example #28
0
        private static void decodeRoutine_WorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (loc.Count != 0)
            {
                Image <Bgr, Byte> processed = ImgToDecode;
                //drawDecodeResultInImg(processed);  //can't draw on a roated bitmap...

                MainWindow.mMainWindow.ibOriginal.Source = ImgConverter.ToBitmapSource(processed.Convert <Bgr, Byte>().Rotate(_angle, new Bgr(Color.Black), false));
            }
            else
            {
                MainWindow.mMainWindow.listBox.Items.Add("Fail to find any result");
            }
            s = 0;
        }
Example #29
0
        private void Btn_apply_object_Click(object sender, RoutedEventArgs e)
        {
            if (GV.object_img != null && GV.imgOriginal != null)
            {
                //====Processed image==========
                GV.imgProcessed   = NCVFuns.Detection(GV.imgOriginal, DetectionType.Object, out GV._err);
                ibOriginal.Source = ImgConverter.ToBitmapSource(GV.imgProcessed);
            }
            else if (GV.object_img == null)
            {
                GV._err = ErrorCode.No_object_image;
            }

            BindMngr.GMessage.value = GV._err.ToString();
        }
        private void LoadImg_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            BindManager.BindMngr.Progress.value       = e.ProgressPercentage;
            BindManager.BindMngr.ProgressString.value = BindManager.BindMngr.Progress.value + "%";

            BindManager.BindMngr.GMessage.value = string.Format("Loading images...({0})", BindManager.BindMngr.ProgressString.value);

            try
            {
                imgThumbList[((imgInfo)e.UserState).index].Source = ImgConverter.ToBitmapSource(((imgInfo)e.UserState).image);
            }
            catch (Exception)
            {; }

            ((imgInfo)e.UserState).image.Dispose();
        }
        private ImgConverter GetImgConverter()
        {
            ImgConverter imgConverter = new ImgConverter();

            // set the HTML viewer width and height in pixels
            // the default value is 1024 pixels for width and 0 for height
            imgConverter.HtmlViewerWidth = int.Parse(textBoxHtmlViewerWidth.Text.Trim());
            imgConverter.HtmlViewerHeight = int.Parse(textBoxHtmlViewerHeight.Text.Trim());

            // set if the JavaScript is executed during conversion - default value is true
            imgConverter.JavaScriptEnabled = cbScriptsEnabled.Checked;

            return imgConverter;
        }
Example #32
0
        //
        // GET: /Pdf/
        private ImgConverter GetImgConverter()
        {
            ImgConverter imgConverter = new ImgConverter();

            imgConverter.LicenseKey = "Q2hzY3Jjc2N3bXNjcHJtcnFtenp6eg==";

            imgConverter.ScriptsEnabled = true;

            return imgConverter;
        }
Example #33
0
        /// <summary>
        /// Convert the HTML code from the specified URL to a PNG image and send the 
        /// image as an attachment to the browser
        /// </summary>
        private void ConvertURLToImage()
        {
            string urlToConvert = textBoxWebPageURL.Text.Trim();

            // Create the Image converter. Optionally the HTML viewer width can be specified as parameter
            // The default HTML viewer width is 1024 pixels.
            ImgConverter imgConverter = new ImgConverter();

            // set the license key
            imgConverter.LicenseKey = "B4mYiJubiJiInIaYiJuZhpmahpGRkZE=";

            // set if the JavaScript is enabled during conversion - default is true
            imgConverter.JavaScriptEnabled = cbClientScripts.Checked;

            // Performs the conversion and get the image bytes that can be further
            // saved to a file or sent as a response to browser
            byte[] imgBytes = imgConverter.GetImageBytesFromUrl(urlToConvert, System.Drawing.Imaging.ImageFormat.Png);

            // send the image as a response to the browser for download
            System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
            response.Clear();
            response.AddHeader("Content-Type", "image/png");
            response.AddHeader("Content-Disposition", String.Format("attachment; filename=GettingStarted.png; size={0}", imgBytes.Length.ToString()));
            response.BinaryWrite(imgBytes);
            // Note: it is important to end the response, otherwise the ASP.NET
            // web page will render its content to image stream
            response.End();
        }
Example #34
0
        private ImgConverter GetImgConverter()
        {
            int htmlViewerWidthPx = int.Parse(textBoxWebPageWidth.Text.Trim());
            int htmlViewerHeightPx = int.Parse(textBoxWebPageHeight.Text.Trim());

            // create the image converter with the specified width and height for HTML viewer
            // the default HTML viewer width is 1024 pixels and default height is 0 to auto determine the height
            ImgConverter imgConverter = new ImgConverter(htmlViewerWidthPx, htmlViewerHeightPx);

            // set HTTP authentication if necessary
            // for IIS Integrated Windows Authentication for example the username and password must be valid
            // Windows username and password
            if (textBoxUsername.Text.Trim().Length > 0)
            {
                imgConverter.AuthenticationOptions.Username = textBoxUsername.Text.Trim();
                imgConverter.AuthenticationOptions.Password = textBoxPassword.Text.Trim();
            }

            // Enable or disable JavaScript.
            // JavaScript is enabled by default
            imgConverter.JavaScriptEnabled = cbScriptsEnabled.Checked;

            // set a delay if necessary to allow asynchronous content (like the content written by JavaScript) to load
            // or a web page redirect to finish before starting rendering the content. The default delay is 0.
            imgConverter.ConversionDelay = int.Parse(textBoxConversionDelay.Text.Trim());

            // set a timeout in case the web page loading takes too long
            // the default navigation timout is 60 seconds
            imgConverter.NavigationTimeout = int.Parse(textBoxNavigationTimeout.Text.Trim());

            return imgConverter;
        }