2 lcsawyer lcsawyer 于 2016.05.04 11:20 提问

非计算机专业求大神指导,c#winform trackbar控件改变图片透明度 1C

c#winform 怎样利用trackbar控件反复改变图片的透明度 这是我写的代码:

private void trackBar1_Scroll(object sender, EventArgs e)
{
label1.Text = string.Format("{0}%", trackBar1.Value);
Bitmap bitmap = new Bitmap(@"c.png");
float fl = trackBar1.Value;
ChangePictureAlpha(bitmap, fl / 100);

}
private void ChangePictureAlpha(Bitmap bitmap, float colorAlpha)
{
int iWidth = bitmap.Width;
int iHeight = bitmap.Height;
Graphics g = pictureBox1.CreateGraphics();
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,colorAlpha,0},
new float[] {0,0,0,0,1}};
ColorMatrix colorMatrix = new ColorMatrix(matrixItems);
ImageAttributes imageAtt = new ImageAttributes();
imageAtt.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
g.DrawImage(bitmap, new Rectangle(0, 0, iWidth, iHeight), 0.0f, 0.0f, iWidth, iHeight, GraphicsUnit.Pixel, imageAtt);

}
可以部分实现,可是trackbar下滑和上滑都是一样的效果都是透明度增加。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!