C# 在一图片picturebox上放一透明矩形 可以看到picturebox内容
这功能怎么实现 int width = 64;
            int height = 64;
            SolidBrush whiteBrush = new SolidBrush(System.Drawing.Color.White);
            System.Drawing.Bitmap newbitmap = new Bitmap(width, height);
            System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(newbitmap);
            g.FillRectangle(whiteBrush, 0, 0, width, height);
            ////   Create   pen.   
            //Pen blackPen = new Pen(Color.Black, 4);
            ////   Create   rectangle.   
            //Rectangle rect = new Rectangle(0, 0, 200, 200);
            ////   Draw   rectangle   to   screen.   
            //g.DrawRectangle(blackPen, rect);   
            this.CreateGraphics().DrawImage(newbitmap, 0, 0);
这个不能透明

解决方案 »

  1.   

     private void DrawRect()
            {
                int nWidth, nHeight;
                nWidth = 100;
                nHeight = 100;
                Graphics g = this.pictureBox1.CreateGraphics();
                Pen pen = new Pen(Color.Red, 1);
               
                g.DrawRectangle(pen, 10, 10, nWidth, nHeight);        }
      

  2.   

    FromArgb(Int32, Int32, Int32, Int32)  从四个 ARGB 分量(alpha、红色、绿色和蓝色)值创建 Color 结构。尽管此方法允许为每个分量传递 32 位值,但每个分量的值仅限于 8 位。 
    颜色生成用这个函数
    Color c = Color.FromArgb(128, 255, 0, 0)
    Pen blackPen = new Pen(c, 4); 
      

  3.   


    SolidBrush whiteBrush = new SolidBrush(System.Drawing.Color.White); 改为
     SolidBrush whiteBrush = new SolidBrush(Color.FromArgb(150, 255, 255, 255));
     
    150为透明度, 从0->255, 全透明->不透明