Ver Mensaje Individual
  #4  
Antiguo 11-06-2006
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Reputación: 19
Deiv Va por buen camino
He encontrado ejemplos como este:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  b:TBitmap;
  RDest, RSource: TRect;
begin
  b := TBitmap.Create();
  b.Width := 100;
  b.Height := 100;
  // Creamos las zonas de copia origen y destino
  RDest := Rect(0,0,100,100);
  RSource := Rect(0,0,100, 100);
  // Copiar parte del form al bitmap
  b.Canvas.CopyRect(RDest, Self.Canvas, RSource);
end;

El ejemplo que encontré entre algunos, siempre se basan midiendo de un TPaintBox, TImage o de un TPanel PEGADOS al Form (es decir en el formulario están como OBLIGADOS uno de estos objetos para calcularlos con el CopyRect). Pero no encuentro un ejemplo que teniendo el BitMap en mi Directorio calcular (un x-ancho) y mostrarlo evidentemente en un TPaintBox, TImage, TPanel o en el Form solo UNA PARTE del BMP después de cierto cálculo.

Intentaré explicarlo sencillamente, tengo un TButton y un TPanel (con 2 TImage)...... ojo que no se si elegí la forma correcta aquí de los componentes, derepente hubiera sido mejor mostrarlos en un TpaintBox o directamente en el Form en cierta posición, no sé:

Código Delphi [-]
Case Num of //Después de un cálculo
0: //Mostrar solo el "Cero" de toda la imagen "BMPFuente" que tiene dibujado=0123456789 de 32 de alto x 320 pixels largo
1: //Mostrar solo el "1" de toda la imagen "BMPFuente" que tiene......... x 320 pixels largo (10 pixels para cada uno)
2: //Mostrar solo el "2" de toda la imagen "BMPFuente".........
....
end;

En el Case para cada caso mostraría un número de miBMP recortado en los TIMage contenidos en el TPanel o en un TPaintBox.

Quizá me digan que más sencillo resultaría crear BMPs para cada uno y mostrarlos.... de acuerdo! pero lo que no quiero es llenar por ejemplo de 10 BMPs como fuente de números en mi Directorio, mucho menos de 23 BMPs del Abecedario. Prefiero crear uno LARGO (uno solo) conteniendo a todos, para luego recortarlos uno a uno y mostrarlos según necesidades y cálculo.

Como dije arriba, de los ejemplos que encontré en la Red, todos se basan en el CopyRect teniendo el gráfico en el Form, y así calculando sus medidas y recortarlo. Lo que yo necesito es ver la forma de hacer ese recorte sin que se vea (sin que se encuentre) en el Form, solo sabiendo las medidas de mi BMP que se encuentra en mi directorio y tomando en el Case un ancho diferente para cada uno.

- Luego será otro lo del blinkado.

Última edición por Deiv fecha: 11-06-2006 a las 01:50:50.
Responder Con Cita