Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 11-11-2005
elcigarra elcigarra is offline
Miembro
 
Registrado: may 2005
Posts: 269
Poder: 22
elcigarra Va por buen camino
código

No importa demasiado la complejidad excepto que te cree conflictos emocionales torturar un poco al windows . Aunque sí utiliza recursos, no me parece que sea demasiado para los PC de hoy. Yo he combinado cientos de transparencias de hasta 1 pixel (para hacer sombras sobre lo de atrás).

Por ejemplo, y ya que estamos y hablando de regiones y transparencias, ¿vieron que espectacular el "spash screen" del acrobat reader 6.0? Ese es un ejemplo de lo astutamente que puede diseñarse un gráfico con regiones transparentes. Bueno, te incluyo algo de código útil para generar una región a partir de cualquier gráfico: Podes sacar la variable de Transparent color y pasarlo en el enunciado de la función si querés que no sea necesariamente el pixel de abajo a la izquierda.

Código Delphi [-]
 
function CreateBmpRgn(ABitmap : TBitmap): HRGN;
var
  TransparentColor : TColor;
  X, Y, W, H : Integer;
  Temp : HRGN;
begin
  W := ABitmap.Width;
  H := ABitmap.Height;
  TransparentColor := ABitmap.Canvas.Pixels[0, H - 1];
  Result := 0;
  for X := 0 To W - 1 do begin
    for Y := 0 To H - 1 do begin
      if ABitmap.Canvas.Pixels[X, Y] <> TransparentColor then begin
        if Result = 0 then 
          Result := CreateRectRgn(X, Y, X + 1, Y + 1) 
        else begin
          Temp := CreateRectRgn(X, Y, X + 1, Y + 1);
          CombineRgn(Result, Result, Temp, RGN_OR);
          DeleteObject(Temp);
        end;
      end;
    end;
  end;
end;

Deberías definirte una variable (Xej PanelRegion) de tipo THandle y luego de:
Código Delphi [-]
 
PanelRegion := CreateBmpRgn(miDibujo);
utilizar la función SetWindowRgn para el panel.
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 07:05:48.


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