Ver Mensaje Individual
  #4  
Antiguo 20-10-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Pues calculando la posición, no es una operación tan complicada. Para eso puedes usar las propiedades TextHeight y TextWidth del Canvas, que te dan respectivamente la altura y el ancho de un texto dentro de ese canvas con la fuente actual. Por ejemplo:

Código Delphi [-]
var
  Bitmap: TBitmap;
  R: TRect;
begin
  Bitmap:= TBitmap.Create;
  try
    // Creamos un bitmap de 100x100
    Bitmap.Width:= 100;
    Bitmap.Height:= 100;
    // Indicamos las coordenadas del rectangulo
    R:= Rect(10,10,90,90);
    // Dibujamos el rectangulo
    Bitmap.Canvas.Rectangle(R);
    // Escribimos la letra
    Bitmap.Canvas.Font.Size:= 32;
    with Bitmap.Canvas do
      TextOut(
        (R.Left + R.Right - TextWidth('A')) div 2,
        (R.Top + R.Bottom - TextHeight('A')) div 2,
        'A');
    // Ahora por ejemplo lo dibujo, tu haz lo que quieras con el
    Canvas.Draw(0,0,Bitmap);
  finally
    Bitmap.Free;
  end;
end;
Responder Con Cita