pictureBox 上面 已经有图片 了想在图片 上添加文字 ?怎么 做的 ?用DrawString么怎么使用的 ?

解决方案 »

  1.   

    //c#加水印             system.drawing.image image = system.drawing.image.fromfile(path); 
                   graphics g = graphics.fromimage(image); 
                   g.drawimage(image, 0, 0, image.width, image.height); 
                   font f = new font("宋体", 32); 
                   brush b = new solidbrush(color.blue); 
                   string addtext = addtext.value.trim(); 
                   g.drawstring(addtext, f, b, 20, 10); 
                   g.dispose(); 
      

  2.   

    那你是建的Windows窗体应用程序?若是,直接再PictureBox上放一个Lable然后给Lable添加文本就好了!
      

  3.   

    private void pictureBox1_Paint(object sender, PaintEventArgs e)
      {
      if (this.pictureBox1.BackgroundImage != null)
      e.Graphics.DrawString("", new Font("宋体 ", 8), new SolidBrush(Color.Black), 5, 3);
     }
    http://www.codeproject.com/KB/GDI-plus/flickerFreeDrawing.aspx
      

  4.   

    public FRMMain()
            {
                InitializeComponent();
                // p为PictureBox的名字
                p.Paint += new PaintEventHandler(pb_Paint);  
    }
    private void pb_Paint(object sender, PaintEventArgs e)
            {
                if (((PictureBox)sender).BackgroundImage == null)
                {
                    string str = ((PictureBox)sender).Name.ToString();
                    e.Graphics.DrawString(str, new Font("宋体", 10), new SolidBrush(Color.Black), 25, 18);
                    //this.Invalidate();
                }
            }
      

  5.   

    public FRMMain()
      {
      InitializeComponent();
      // p为PictureBox的名字
      p.Paint += new PaintEventHandler(pb_Paint);   
    }
    private void pb_Paint(object sender, PaintEventArgs e)
      {
      if (((PictureBox)sender).BackgroundImage == null)
      {
      string str = ((PictureBox)sender).Name.ToString();
      e.Graphics.DrawString(str, new Font("宋体", 10), new SolidBrush(Color.Black), 25, 18);
      //this.Invalidate();
      }
      }//排版
      

  6.   

    lz要的是在pictureBox上写文字,这个文字当然是透明的了,用Label实现:private void label1_Paint(object sender, PaintEventArgs e)
    {
        label1.BackColor = Color.Transparent;
        label1.Parent = pictureBox1;
    }