Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-10-2006
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 19
Deiv Va por buen camino
Exclamation BitBtl vs Draw

¿Por que los 2 códigos del TTimmer trabajan de diferente forma?

Código Delphi [-]
 
procedure TForm1.FormCreate(Sender: TObject);
begin
   G:= TBitMap.Create;
   G.LoadFromFile(getcurrentdir+'/molecule14.bmp');
   G.TransparentColor:=G.Canvas.Pixels[1,1];
   G.Transparent:= True;
   G.TransparentMode:= tmFixed;
end;

Opción 1 :
Código Delphi [-]
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Canvas.Brush.Color := clBtnFace;
  Canvas.FillRect(Rect(10+i-2, 10, 10+I, 10+G.Height)); //clear old small rect
  Bitblt(Canvas.Handle, 10 + i, 10, G.Width, G.Height, G.Canvas.Handle, 0, 0, SRCCOPY);
  i:=i+2;
end;

Opción 2 :
Código Delphi [-]
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Canvas.Brush.Color := clBtnFace;
  Canvas.FillRect(Rect(10+i-2, 10, 10+I, 10+G.Height)); //clear old small rect
  Canvas.Draw(10+i,10,G);
  i:=i+2;
end;
En un principio cuando no había que transparentar el BitMap cualquier opción valía (BitBtl o Draw) pero cuando intenté transparentar en TForm1.FormCreate, BitBtl no hace nada, y Draw INTENTA transparentar, pero ocurre un efecto especial (adjunto el Archivo) al evento OnMouseMove: al principio transparenta su parte izquierda y luego se completa como era el BitMap originalmente (solo la izquierda) y la derecha está transparentado.

1.- ¿A que se debe todo este efecto con Draw?
2.- ¿Como hacer funcionar el transparente con BitBtl?

Última edición por Deiv fecha: 26-08-2007 a las 00:58:33.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 08:04:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi