0

実行時に画像のしきい値を設定しようとしています。現在、私のコードは次のようになります。

ImageAttributes imageAttr = new ImageAttributes();
imageAttr.SetThreshold(kryptonTrackBar1.Value / 100);

System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(pictureBox3.Image);
Graphics g = System.Drawing.Graphics.FromImage(bmp);
g.DrawImage(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height), 0, 0,
                 bmp.Width, bmp.Height, GraphicsUnit.Pixel, imageAttr);
pictureBox1.Image = bmp;

picturebox3白黒画像が含まれています。問題はimageAttr.SetThreshold(kryptonTrackBar1.Value / 100);ラインの内側です。

私のトラックバーの最大値は 100 で、最小値は 0 です。したがって、トラックバーをスクロールしている間は 0.07 などの数値になるはずですが、トラックバーは 0 と 1 の値しか返しません! 右端までスクロールすると1!

どうしたの?

4

1 に答える 1

3

どうですか

imageAttr.SetThreshold((float)kryptonTrackBar1.Value / 100.0f);
于 2012-06-26T20:22:53.367 に答える