/// <summary> /// Завантаження зображення /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OpenToolStripMenuItem_Click(object sender, EventArgs e) { // Запускаєм діалогове вікно в якому вибираємо файл зображення if (openFileDialogMain.ShowDialog() == DialogResult.OK) { // Пробуємо завантажити try { using (Bitmap tempIm = new Bitmap(openFileDialogMain.FileName)) { // Міняємо курсор на вид очікування this.Cursor = Cursors.AppStarting; // Чистимо робочу область ClearAlltoolStripMenuItem_Click(sender, e); // Присвоюємо зовнішній змінній картинку і "відпускаємо" файл img.ImageSave = (Bitmap)tempIm.Clone(); // Відображаємо картинку PictureBoxLoad.Image = img.ImageSave; // Визначаємо стандартні розміри обрізки зображення Obrezka.CalcOblast(img.ImageSave); // Аналізуємо зображення #region //Тестування обробки зображення img.GetInfoFromImage2(img.ImageSave); #endregion // Змінаємо галочку із кольорових компонент CheckMenuColor(mc.def); // Повертаємо курсор назад this.Cursor = Cursors.Default; // Забороняємо малювати маркер markerZobr.Dozvil = false; markerPix.Dozvil = false; markerLine.Dozvil = false; // Очищаємо статусний рядок ClearStatusDown(); } } catch (Exception) { // Видаємо помилку у випадку невірного формату зображення MessageBox.Show("Format of this file is unknown!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Файл незавантажений"); } }
/// <summary> /// Очищення вкладки Зображення /// </summary> private void ImageClear() { // Забороняємо малювати маркер markerZobr.Dozvil = false; // змінюємо дозвіл на ставлення маркерів markDozvilZobr = true; // чистимо список маркерів markerZobr.MarkerList.Clear(); // якщо картинка наявна в пам'яті, то відображаємо if (img.ImageSave != null) { // Міняємо курсор на вид очікування this.Cursor = Cursors.AppStarting; // Відображаємо картинку PictureBoxLoad.Image = img.ImageSave; // корегуємо область видимості Obrezka.CalcOblast(img.ImageSave); // оновлюємо малюнки //GrayColor(colorComp); // Повертаємо курсор назад this.Cursor = Cursors.Default; } // оновлення області для відобрадення маркера PictureBoxLoad.Refresh(); // Необхідно почистити макрери на інших вкладках PixelClear(); LineClear(); }
/// <summary> /// Розрахунок і відображення сірої компоненти на зображенні /// </summary> /// <param name="componenta"></param> private void GrayColor(mc componenta) { if (img.ImageSave != null) { // Міняємо курсор на вид очікування this.Cursor = Cursors.AppStarting; if (markerZobr.MarkerList.Count < 2) { img.CloneColor(); Obrezka.CalcOblast(img.ImageSave); } // Реалізуємо необхідну компонету img.SetInfoFromImage(componenta, Obrezka.Oblast); // Ставимо галочку CheckMenuColor(componenta); // відображаємо зображення 2/3 вкладці PictureBoxPixel.Image = img.imageCorect; PictureBoxLine.Image = img.imageCorect; // оновлюємо таблиці if (img.imageCorect != null) { TableShowPix(markerPix, img.imageCorect, dataGridViewPixel); TableShowLine(markerLine, img.imageCorect, dataGridViewLine); TableShowGraph(PointsOfLine, dataGridViewGraph); pictureBoxGraph.Refresh(); } // Повертаємо курсор назад this.Cursor = Cursors.Default; } }