?? form1.cs
字號:
{
rr = 0; gg = 0; bb = 0;
c = box.GetPixel(i, j);
r1 = c.R;
g1 = c.G;
b1 = c.B;
cc = box.GetPixel(i + 1, j + 1);
r2 = cc.R;
g2 = cc.G;
b2 = cc.B;
rr = Math.Abs(r2 - r1 + 128);
gg = Math.Abs(b2 - b1 + 128);
bb = Math.Abs(b2 - b1 + 128);
if (rr < 0) rr = 0;
if (rr > 255) rr = 255;
if (gg < 0) gg = 0;
if (gg > 255) gg = 255;
if (bb < 0) bb = 0;
if (bb > 255) bb = 255;
Color c1 = Color.FromArgb(rr, gg, bb);
box.SetPixel(i, j, c1);
}
progressBar1.Maximum = this.pictureBox1.Image.Width - 1;
progressBar1.Value = i;
pictureBox2.Refresh();
pictureBox2.Image = box;
}
this.progressBar1.Hide();
}
private void 反色ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.progressBar1.Visible = true;
Color c = new Color();
this.box = new Bitmap(pictureBox1.Image);
int rr, gg, bb;
for (int i = 0; i < pictureBox1.Image.Width; i++)
{
for (int j = 0; j < pictureBox1.Image.Height; j++)
{
c = box.GetPixel(i, j);
rr = c.B; gg = c.G; bb = c.B;
Color c1 = Color.FromArgb(255 - c.R, 255 - c.G, 255 - c.B);
box.SetPixel(i, j, c1);
}
progressBar1.Maximum = pictureBox1.Image.Width;
progressBar1.Value = i;
pictureBox2.Refresh();
pictureBox2.Image = box;
}
this.progressBar1.Hide();
}
private void 平移ToolStripMenuItem_Click(object sender, EventArgs e)
{
progressBar1.Visible = true;
int dx;
int dy;
Color c = new Color();
box = new Bitmap(pictureBox1.Image);
Bitmap map = new Bitmap(box.Width,box.Height);
int rr, gg, bb;
int[,,] pic=new int[box.Width,box.Height,3];
Form2 Fm = new Form2();
if (Fm.ShowDialog() == DialogResult.OK)
{
dx = Fm.get_X;
dy = Fm.get_Y;
for (int i = 0; i < box.Width; i++)
{
for (int j = 0; j < box.Height; j++)
{
c = box.GetPixel(i, j);
pic[i, j, 0] = c.R;
pic[i, j, 1] = c.G;
pic[i, j, 2] = c.B;
}
}
for (int i = 0; i < box.Width - dx; i++)
{
for (int j = 0; j < box.Height - dy; j++)
{
rr = pic[i, j, 0];
gg = pic[i, j, 1];
bb = pic[i, j, 2];
Color c1 = Color.FromArgb(rr, gg, bb);
map.SetPixel(i + dx, j + dy, c1);
}
progressBar1.Value = i;
pictureBox2.Refresh();
pictureBox2.Width = map.Width;
pictureBox2.Height = map.Height;
pictureBox2.Image = map;
}
progressBar1.Hide();
}
}
private void 縮放ToolStripMenuItem_Click(object sender, EventArgs e)
{
progressBar1.Visible = true;
progressBar1.Refresh();
pictureBox1.Refresh();
Color c = new Color();
Color cc = new Color();
int r1, g1, b1,fx,fy;
Form3 Fm=new Form3();
pictureBox1.SizeMode = PictureBoxSizeMode.Normal;
if (Fm.ShowDialog() == DialogResult.OK)
{
box = new Bitmap(pictureBox1.Image);
fx = Fm.get_x > 0 ? Fm.get_x : 1;
fy = Fm.get_y > 0 ? Fm.get_y : 1;
Bitmap map = new Bitmap(box.Width/fx, box.Height/fy);
for (int i = 0; i < box.Width - 1; i++)
{
for (int j = 0; j < box.Height - 1; j++)
{
c = box.GetPixel(i, j);
r1 = c.R;
g1 = c.G;
b1 = c.B;
Color c1 = Color.FromArgb(r1, g1, b1);
map.SetPixel(i / fx, j / fy, c1);
}
progressBar1.Maximum = box.Width - 1;
progressBar1.Value = i;
pictureBox2.Refresh();
pictureBox2.Width = box.Width / fx;
pictureBox2.Height = box.Height / fy;
pictureBox2.Image = map;
}
}
else
{
pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;
box = new Bitmap(pictureBox1.Image);
fx = Fm.get_x > 0 ? Fm.get_x : 1;
fy = Fm.get_y > 0 ? Fm.get_y : 1;
Bitmap map = new Bitmap(box.Width * fx, box.Height * fy);
for (int i = 0; i < box.Width - 1; i++)
{
for (int j = 0; j < box.Height - 1; j++)
{
c = box.GetPixel(i, j);
r1 = c.R;
g1 = c.G;
b1 = c.B;
Color c1 = Color.FromArgb(r1, g1, b1);
for (int k = 0; k < fx; k++)
{
for (int m = 0; m < fy; m++)
{
map.SetPixel(i * fx + k, j * fy + m, c1);
}
}
}
progressBar1.Maximum = box.Width - 1;
progressBar1.Value = i;
pictureBox2.Refresh();
pictureBox2.Width = box.Width * fx;
pictureBox2.Height = box.Height * fx;
pictureBox2.Image = map;
}
}
progressBar1.Hide();
}
private void 軸對稱ToolStripMenuItem_Click(object sender, EventArgs e)
{
pictureBox1.Visible = true;
Color c = new Color();
box = new Bitmap(pictureBox1.Image);
Bitmap map = new Bitmap(box.Width,box.Width);
int rr, gg, bb;
int[ , , ]pic = new int[box.Width, box.Height, 3];
for (int i = 0; i < box.Width ; i++)
{
for (int j = 0; j < box.Height; j++)
{
c = box.GetPixel(i,j);
pic[i, j, 0] = c.R;
pic[i, j, 1] = c.G;
pic[i, j, 2] = c.B;
}
}
for (int i = 0; i < box.Width ; i++)
{
for (int j = 0; j < box.Height ; j++)
{
rr = pic[i, j, 0];
gg = pic[i, j, 1];
bb = pic[i, j, 2];
Color c1 = Color.FromArgb(rr, gg, bb);
map.SetPixel(box.Width-1-i , j , c1);
}
progressBar1.Maximum = box.Width ;
progressBar1.Value = i;
pictureBox2.Refresh();
pictureBox2.Image = map;
}
progressBar1.Hide();
}
private void 關(guān)于我們ToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("歡迎使用!本系統(tǒng)制作于2008年7月1日17:34:18");
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -