Club Delphi  
    Paypal   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
  #5  
Antiguo 22-10-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Cita:
Empezado por Deiv
Código Delphi [-]
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin 
  Bitmap.Free; 
  tempBmp.Free; 
end;
No veo ningún problema en ese código. Aunque yo no cargaría las imágenes cada vez que quieras dibujar una de las imágenes, lo cargaría todo al principio. Me explico:
Código Delphi [-]
// Aqui dibujamos las imagenes en 2 filas y 9 columnas
procedure TForm1.Button1Click(Sender: TObject);
var
  i,j: integer;
begin
  for i:= 0 to 9 do
    for j:= 0 to 1 do
      Imagelist1.Draw(PaintBox1.Canvas,i*50,j*50,i+(j*10));
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  Bitmap, Recorte: TBitmap;
begin
  Bitmap:= TBitmap.Create;
  Recorte:= TBitmap.Create;
  try
    Bitmap.LoadFromFile('d:\dibujo.bmp');
    ImageList1.Clear;
    ImageList1.Width:= Bitmap.Width div 10;
    ImageList1.Height:= Bitmap.Height div 2;
    Recorte.Width:= Bitmap.Width;
    Recorte.Height:= Bitmap.Height div 2;
    Recorte.Canvas.CopyRect(Recorte.Canvas.ClipRect,
      Bitmap.Canvas,Rect(0,0,Bitmap.Width,Bitmap.Height div 2));
    Imagelist1.AddMasked(Recorte, Recorte.Canvas.Pixels[0,0]);
    Recorte.Canvas.CopyRect(Recorte.Canvas.ClipRect,
      Bitmap.Canvas,Rect(0,Bitmap.Height div 2,Bitmap.Width,Bitmap.Height));
    Imagelist1.AddMasked(Recorte, Recorte.Canvas.Pixels[0,0]);
  finally
    Bitmap.Free;
    Recorte.Free;
  end;
end;

Si te fijas al cargar las imágenes en el TImagelist, primero añadimos una fila y la otra a continuación. A la hora de dibujar solo tenemos que utilizar como índice el numero de columna + el numero de fila * 10, por ejemplo el elemento [5,1] tendría como índice 5+(1*10)=15.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
MDIChild encima vtdeleon OOP 2 20-02-2005 11:49:24
TImageList...como se usa? alt126 C++ Builder 2 09-02-2005 09:30:59
TImageList scooterjgm OOP 1 15-10-2004 10:43:55
Añadir imagenes en un TimageList JROMAN Gráficos 1 08-10-2004 09:21:45
TSpeedbutton Glyph desde un TImageList dmassive Varios 3 11-03-2004 15:06:02


La franja horaria es GMT +2. Ahora son las 09:09:21.


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