Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ImageList con Timage en tiempo de Diseño. XE8 (https://www.clubdelphi.com/foros/showthread.php?t=91629)

Enan0 22-03-2017 16:05:33

ImageList con Timage en tiempo de Diseño. XE8
 
Buenos dias.

Estoy intentado utilziar un TImageList y unos TImage para visualizar unas Imagenes :D utilizando Delphi XE8, el problema que me encuentro es que Si bien puedo Cagar la Imagen en Tiempo de ejecución por medio del
Código:

ImageList1.GetBitmap(0, Image1.Picture.Bitmap);
Pero el problem que me encuentro es que no se (cambio y no veo donde esta.. o me estoy poniendo viejo) como "Linkear" el TImageList con el TImage y cambiarlos en tiempo de diseño

GRacias

Neftali [Germán.Estévez] 22-03-2017 16:25:12

Creo que nunca he hecho eso en tiempo de diseño.
:confused::confused:

Enan0 22-03-2017 16:43:49

EStaba intentado corregir un error, ya que cuando copie y pegue el codigo, pegue un ejemplo que no es el correccto

Código:


// size es un TSizeF de 16x16
image1.Bitmap:= ImageList1.Bitmap(size,0);


ecfisa 22-03-2017 17:45:37

Hola.

No entiendo bién la dificultad pero creo entender que deseas poder copiar bitmaps entre TImage y TImageList. Fijate si estos ejemplos te son útiles para elaborar lo que buscas:
Código Delphi [-]
// Copia el bitmap determinado por el índice desde un TImageList a un TImage
procedure ImageListToImage(ImageList: TImageList; const Index: Integer;  Image: TImage );
begin
  if ( Index < 0 ) or ( Index > ImageList.Count ) then
    raise Exception.Create( 'Fuera de rango' );

  Image.Picture := nil;
  ImageList.GetBitmap( Index, Image.Picture.Bitmap );
end;

Código Delphi [-]
// Copia el bitmap contenido en un TImage a un determinado índice de un TImageList, 
// o lo agrega al final si el índice es mayor al último elemento.
procedure ImageToImageList(Image: TImage; ImageList: TImageList;  const Index: Integer);
begin
  if Index < 0 then
    raise Exception.Create( 'Fuera de rango' );

  if Index < ImageList.Count then
    ImageList.Replace( Index, Image.Picture.Bitmap, nil )
  else
    ImageList.Add( Image.Picture.Bitmap, nil );
end;

Saludos :)

Enan0 22-03-2017 19:11:08

Buenas el problema no es en tiempo de ejecución por ahi, con mayor o menor eficiencia (seguramente esta ultima) puedo hacerlo.
Solo queria saber si habia un forma de linquear el TImageList en etapa de diseño (desarrollo) con el Timage y visualizar una imagen.

ecfisa 22-03-2017 19:21:48

Hola.

Me disculpo por no haberte entendido antes :o

Entonces mi respuesta es igual a la de Neftali (ni siquiera he leído que se pueda hacer lo que deseas en tiempo de diseño).

Saludos :)


La franja horaria es GMT +2. Ahora son las 00:15:37.

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