没有问题啊, 只需设置CanvasBrush.Style为bsClear就OK, 如:
...
  Image1.Canvas.Brush.Style := bsClear;
  Image1.Canvas.TextOut(10, 10, '透明汉字');
...

解决方案 »

  1.   

    用Label也可以呀。Label有透明属性
      

  2.   

    with image1 do
     begin
     canvas.brush.style:=bsclear;
     canvas.textout(widht div 2,height div 2,'hello');
     end;
    //ok!!!
      

  3.   

    在quickreport上试试!我也在研究这个问题!欢迎交流!
      

  4.   

    哈哈,我的一定行:
    用BCB是:
      Image1->Transparent=true;
      Image1->Canvas->Brush->Style = bsClear;
      Image1->Canvas->Font->Size=9;
      Image1->Canvas->Font->Name="宋体";
      Image1->Canvas->TextOut(10, 10, "透明汉字");
    改成Delphi可能是:
      Image1.Transparent=true;
      Image1.Canvas.Brush.Style = bsClear;
      Image1.Canvas.Font.Size=9;
      Image1.Canvas.Font.Name='宋体';
      Image1.Canvas.TextOut(10, 10, '透明汉字');
    OK?
      

  5.   

    不对,我搞错了,如果有Bitmap的话还是把Transparent去掉吧,不然会闪烁的,前面几位已经说对了.
      

  6.   

    记得在VC++中只要将DC设置成透明的就可以了
    pDC->SetBkMode(TRANSPARENT);
    DELPHI我没试过.
      

  7.   

    ahao 的回答是对的。不过最好把代码写在Image1所在Form的OnPaint事件中,避免刷新后丢失。
      

  8.   

    已经写在image1中的东西会丢失?不会吧!!