procedure TForm1.Button1Click(Sender: TObject);
var
memoryBitmap:TBitmap;
CRect:TRect;
begin
CRect:=Rect(40,40,120,120);
memoryBitmap:=TBitmap.Create;
memoryBitmap.Canvas.Brush.Color :=RGB(100,255,100);
memoryBitmap.Canvas.Font.Color :=RGB(0,0,0);
memoryBitmap.Canvas.FillRect(CRect);
DrawText(memoryBitmap.Canvas.Handle,pchar('我爱你'),length('我爱你'),CRect,DT_CENTER or DT_VCENTER or DT_SINGLELINE);
self.Canvas.CopyRect(CRect,memoryBitmap.Canvas,CRect);
memoryBitmap.Free;
end;

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      memoryBitmap:TBitmap;
      CRect:TRect;
    begin
      CRect:=Rect(40,40,120,120);
      memoryBitmap:=TBitmap.Create;
      memorybitmap.Width:=500;
      memorybitmap.Height:=500;
      memoryBitmap.Canvas.Brush.Color :=RGB(100,255,100);
      memoryBitmap.Canvas.Font.Color :=RGB(0,0,0);
      memoryBitmap.Canvas.FillRect(CRect);
      DrawText(memoryBitmap.Canvas.Handle,pchar('我爱你'),length('我爱你'),CRect,DT_CENTER or DT_VCENTER or DT_SINGLELINE);
      self.Canvas.CopyRect(CRect,memoryBitmap.Canvas,CRect);
      memoryBitmap.Free;
    end;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
    memoryBitmap:TBitmap;
    CRect:TRect;
    begin
    CRect:=Rect(40,40,120,120);
    memoryBitmap:=TBitmap.Create;
    //
    MemoryBitmap.Width:=500;
    MemoryBitmap.Height:=500;
    //
    memoryBitmap.Canvas.Brush.Color :=RGB(100,255,100);
    memoryBitmap.Canvas.Font.Color :=RGB(0,0,0);
    memoryBitmap.Canvas.FillRect(CRect);
    DrawText(memoryBitmap.Canvas.Handle,pchar('我爱你'),length('我爱你'),CRect,DT_CENTER or DT_VCENTER or DT_SINGLELINE);
    self.Canvas.CopyRect(CRect,memoryBitmap.Canvas,CRect);
    //
    Image1.Picture.Bitmap.Assign(MemoryBitmap);//显示一下吧
    //
    memoryBitmap.Free;
    end;