private void pictureBox2_Click(object sender, EventArgs e) { if (openFileDialog2.ShowDialog() == DialogResult.OK) { pictureBox2.Image = Bitmap.FromFile(openFileDialog2.FileName); Bitmap bmp = (Bitmap)pictureBox2.Image.Clone(); imgData2.readImage(bmp); pictureBox2.Image = imgData2.drawImage("RGB"); GC.Collect(); } }
private void pictureBox1_Click(object sender, EventArgs e) { if (openFileDialog1.ShowDialog() == DialogResult.OK) { pictureBox1.Image = Bitmap.FromFile(openFileDialog1.FileName); Bitmap bmp = (Bitmap)pictureBox1.Image.Clone(); imgData1.readImage(bmp); imgData2.readImage(bmp); pictureBox1.Image = imgData1.drawImage("RGB"); imgData1.x0 = imgData1.img.GetLength(0) / 2; imgData1.y0 = imgData1.img.GetLength(1) / 2; GC.Collect(); } }
private void button1_Click(object sender, EventArgs e) { if (openFileDialog1.ShowDialog() == DialogResult.OK) { pictureBox1.Image = Bitmap.FromFile(openFileDialog1.FileName); } Bitmap bmp = (Bitmap)pictureBox1.Image.Clone(); imgData.readImage(bmp); pictureBox2.Image = imgData.drawImage("RGB"); imgData.histOriginal.drawGraph(chart1, "RGB"); imgData.histEdited.drawGraph(chart2, "RGB"); }
private void applyTransition(int s) { for (int i = 0; i < imgData1.img.GetLength(0); i++) { for (int j = 0; j < imgData1.img.GetLength(1); j++) { imgData3.img[i, j] = new PixelClassRGB(); if (radioButton1.Checked) { imgData3.img[i, j].R = Convert.ToByte(((double)s / 100) * imgData2.img[i, j].R + (1 - (double)s / 100) * imgData1.img[i, j].R); imgData3.img[i, j].G = Convert.ToByte(((double)s / 100) * imgData2.img[i, j].G + (1 - (double)s / 100) * imgData1.img[i, j].G); imgData3.img[i, j].B = Convert.ToByte(((double)s / 100) * imgData2.img[i, j].B + (1 - (double)s / 100) * imgData1.img[i, j].B); } else if (radioButton2.Checked) { if (i < imgData1.img.GetLength(0) * s / 100) { imgData3.img[i, j].R = imgData2.img[i, j].R; imgData3.img[i, j].G = imgData2.img[i, j].G; imgData3.img[i, j].B = imgData2.img[i, j].B; } else { imgData3.img[i, j].R = imgData1.img[i, j].R; imgData3.img[i, j].G = imgData1.img[i, j].G; imgData3.img[i, j].B = imgData1.img[i, j].B; } } else if (radioButton3.Checked) { if (j < imgData1.img.GetLength(1) * s / 100) { imgData3.img[i, j].R = imgData2.img[i, j].R; imgData3.img[i, j].G = imgData2.img[i, j].G; imgData3.img[i, j].B = imgData2.img[i, j].B; } else { imgData3.img[i, j].R = imgData1.img[i, j].R; imgData3.img[i, j].G = imgData1.img[i, j].G; imgData3.img[i, j].B = imgData1.img[i, j].B; } } else if (radioButton4.Checked) { if (j < (imgData1.img.GetLength(1) / 2 - (imgData1.img.GetLength(1) * s / 200)) || j > (imgData1.img.GetLength(1) / 2 + (imgData1.img.GetLength(1) * s / 200))) { imgData3.img[i, j].R = imgData2.img[i, j].R; imgData3.img[i, j].G = imgData2.img[i, j].G; imgData3.img[i, j].B = imgData2.img[i, j].B; } else { imgData3.img[i, j].R = imgData1.img[i, j].R; imgData3.img[i, j].G = imgData1.img[i, j].G; imgData3.img[i, j].B = imgData1.img[i, j].B; } } else if (radioButton5.Checked) { if (i < (imgData1.img.GetLength(0) / 2 - (imgData1.img.GetLength(0) * s / 200)) || i > (imgData1.img.GetLength(0) / 2 + (imgData1.img.GetLength(0) * s / 200))) { imgData3.img[i, j].R = imgData2.img[i, j].R; imgData3.img[i, j].G = imgData2.img[i, j].G; imgData3.img[i, j].B = imgData2.img[i, j].B; } else { imgData3.img[i, j].R = imgData1.img[i, j].R; imgData3.img[i, j].G = imgData1.img[i, j].G; imgData3.img[i, j].B = imgData1.img[i, j].B; } } else if (radioButton6.Checked) { if ( (i < (imgData1.img.GetLength(0) / 2 - (imgData1.img.GetLength(0) * s / 200)) || i > (imgData1.img.GetLength(0) / 2 + (imgData1.img.GetLength(0) * s / 200))) && (j < (imgData1.img.GetLength(1) / 2 - (imgData1.img.GetLength(1) * s / 200)) || j > (imgData1.img.GetLength(1) / 2 + (imgData1.img.GetLength(1) * s / 200)))) { imgData3.img[i, j].R = imgData2.img[i, j].R; imgData3.img[i, j].G = imgData2.img[i, j].G; imgData3.img[i, j].B = imgData2.img[i, j].B; } else { imgData3.img[i, j].R = imgData1.img[i, j].R; imgData3.img[i, j].G = imgData1.img[i, j].G; imgData3.img[i, j].B = imgData1.img[i, j].B; } } else if (radioButton7.Checked) { if (Math.Pow(j, 2) + Math.Pow(i, 2) > Math.Pow(imgData1.img.GetLength(0) * s / 100 + imgData1.img.GetLength(1) * s / 100, 2)) { imgData3.img[i, j].R = imgData2.img[i, j].R; imgData3.img[i, j].G = imgData2.img[i, j].G; imgData3.img[i, j].B = imgData2.img[i, j].B; } else { imgData3.img[i, j].R = imgData1.img[i, j].R; imgData3.img[i, j].G = imgData1.img[i, j].G; imgData3.img[i, j].B = imgData1.img[i, j].B; } } else if (radioButton8.Checked) { if (j > Math.Pow(s / 100.0, 5) * imgData1.img.GetLength(1) && i > Math.Pow(s / 100.0, 5) * imgData1.img.GetLength(0)) { imgData3.img[i, j].R = imgData2.img[i, j].R; imgData3.img[i, j].G = imgData2.img[i, j].G; imgData3.img[i, j].B = imgData2.img[i, j].B; } else { imgData3.img[i, j].R = imgData1.img[i, j].R; imgData3.img[i, j].G = imgData1.img[i, j].G; imgData3.img[i, j].B = imgData1.img[i, j].B; } } } } pictureBox3.Image = imgData3.drawImage("transition"); }