设置页面样式:

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;
}
效果:


博客展示了图片进度条模糊效果的代码实现。包含打开图片按钮的点击事件代码,用于显示图片;还有模糊条的数值变化事件代码,调用图片模糊代码。图片模糊代码通过设置颜色矩阵等操作,实现图片模糊效果。
5414

被折叠的 条评论
为什么被折叠?



