设置页面样式:
private void button1_Click(object sender, EventArgs e)//打开图片按钮
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
pictureBox1.Image = Image.FromFile(openFileDialog1.FileName);//显示图片
}
}
private void trackBar1_ValueChanged(object sender, EventArgs e)//模糊条
{
ChangeAlpha();
}
private void ChangeAlpha()//图片模糊代码
{
pictureBox1.Refresh();//强制控件使其客户区无效,并立即重新绘制自己
Bitmap source = new Bitmap(pictureBox1.Image); //声明
Bitmap effect = new tmap(pictureBox1.Image.Width,pictureBox1.Image.Height); //声明
Graphics _effect = Graphics.FromImage(effect);
float[][] matrixItems ={new float[]{1,0,0,0,0},
new float [] {0,1,0,0,0},
new float []{0,0,1,0,0},
new float []{0,0,0,0,0},
new float[]{0,0,0,trackBar1.Value/255f,1}};
ColorMatrix imgMatrix = new ColorMatrix(matrixItems);
ImageAttributes imgEffect = new ImageAttributes();
imgEffect.SetColorMatrix(imgMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);//SetColorMatrix设置指定类别的颜色调整矩阵
if (source.Width <= 368)
{
_effect.DrawImage(source, new Rectangle(0, 0, pictureBox1.Image.Width, pictureBox1.Image.Height), 0, 0, pictureBox1.Image.Width, pictureBox1.Image.Height, GraphicsUnit.Pixel, imgEffect);//DrawImage图片拖拽具有六个参数(图片,矩形,位置X,位置Y,图片的宽度,图片的高度)
}
else
{
_effect.DrawImage(pictureBox1.Image, new Rectangle(0, 0, pictureBox1.Image.Width, pictureBox1.Image.Height), 0, 0, pictureBox1.Image.Width, pictureBox1.Image.Height, GraphicsUnit.Pixel, imgEffect);
}
pictureBox1.Image = effect;
}
效果: