(imageHandler.Width), Convert.ToInt32 (imageHandler.Height)) ;. Invalidate () ;. Cursor=Cursors.Default ; .RemoveCropAreaDraw () ;. Invalidate ();
}
} (flag == true) ;. Invalidate () ;. Cursor=Cursors.Default;
} void saveImg_Click (object sender, EventArgs e)//збереження зображення без виділеної області
{(DialogResult.OK == sDlg1.ShowDialog ())
{. SaveBitmap (sDlg1.FileName);
}
} void saveImgImg_Click (object sender, EventArgs e)
{
{(DialogResult.OK == sDlg2.ShowDialog ())
{. PasteTogether (cloneBitmap, cropX, cropY) .Save (sDlg2.FileName);//зберігаю зображення
}
}
} void deleteCrop_Click_1 (object sender, EventArgs e)
{. Visible=false;//pictureBox1 робимо невідімим.Enabled=false; .Enabled=false;
} void menuItemExit_Click (object sender, EventArgs e)
{. Close ();
}
}
}
namespace ImageProcessing
{class ImageHandler
{
private string _bitmapPath;//змінна для зберігання адресса для сохр ізображеніяBitmap _currentBitmap=null;//поточне зображення [] [] colorOfPixel;// Матриця для зберігання значень пікселів поточного (оброблюваного) зображення [] [] beforeProcessing;// Матриця для зберігання значень пікселів зображення перед ізмененіемtrueWidth;// Початкова довга ізображеніяtrueHeight;//початкова висота ізображеніяisPicture=false;//наявність оброблюваної картінкіbool IsPicture//перевірка на наявність оброблюваної картинки в класі
{{return isPicture; }
} int Width//отримання ширини поточного зображення
{{return colorOfPixel.Length; }
} int Height//отримання висоту поточного зображення
{{return colorOfPixel [0] .Length; }
} int TrueWidth//отримання ширини початкового зображення
{{return trueWidth; }
} int TrueHeight//отримання висоти початкового зображення
{{return trueHeight; }
} Bitmap GetBitmap ()//отримання поточного зображення
{_ currentBitmap;
} string BitmapPath//отримання шляху до зображення
{{return _bitmapPath; } {_bitmapPath=Value; }
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//РОБОТА З отриманих з ЗОБРАЖЕННЯ МАТРИЦІ ПІКСЕЛІВ І отримання зображення із МАТРИЦІ ПІКСЕЛІВ
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void SetBitmap (Bitmap bitmap)//завдання оброблюваного зображення
{= true;=bitmap.Width;=bitmap.Height;=MakeMatrixs (bitmap);=(int [] []) colorOfPixel.Clone (); ();
} CreateBitmap ()//заміна поточного зображення на отриманій з масиву пікселів colorOfPixel
{
_ currentBitmap=MakeBitmap (colorOfPixel, colorOfPixel.Length, colorOfPixel [0] .Length);
} [] [] MakeMatrixs (Bitmap bitmap)//отримання матриці пікселів з картинки
{height=bitmap.Height; width=bitmap.Width; [] [] colorOfPixel=new int [width] [];//виділення місця під матрицю (int i=0; i lt; width; i ++)
{[i]=new int [height];//виділення місця під матрицю
} (int i=0; i lt; height; i ++)
{(int j=0; j lt; width; j ++)
{[j] [i]=bitmap.GetPixel (j, i) .ToArgb ();//копіювання пікселів
}
} colorOfPixel;//повернення матриці
} Bitmap MakeBitmap (int [] [] matrix, int width, int height)//функція збирає зображення з масиву пікселів
{bm=new Bitmap (width, height);//оздание зображення з потрібним розміром
for (int i=0; i lt; height; i ++)
{(int j=0; j lt; width; j ++)
{. SetPixel (j, i, Color.FromArgb (matrix [j] [i]));//заповнення зображення
}
} bm;
}