问题描述
- 非计算机专业求大神指导,c#winform trackbar控件改变图片透明度
-
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下滑和上滑都是一样的效果都是透明度增加。