Carregar image com as imagens de um imagelist
Bom dia a todos.
Tenho algumas imagens gravadas dentro de um imagelist e estou precisando carregá-las em tempo de execução.
Ex:
Ao clicar no 1º item de um combobox, o image chama a 1ª imagem do imagelist; ao clicar no 2º item de um combobox, o image chama a 2ª imagem do imagelist, .....
Existe alguma forma de se fazer isso ?
Grato pela atenção.
Tenho algumas imagens gravadas dentro de um imagelist e estou precisando carregá-las em tempo de execução.
Ex:
Ao clicar no 1º item de um combobox, o image chama a 1ª imagem do imagelist; ao clicar no 2º item de um combobox, o image chama a 2ª imagem do imagelist, .....
Existe alguma forma de se fazer isso ?
Grato pela atenção.
Turbo Drive
Curtidas 0
Respostas
Micheus
18/09/2006
Este procedimento funciona para mim. No seu caso, vc deverá modificar o índice da imagem a ser obtida do ImageList na chamada do método GetBitmap - eu utilizei fixo em 0 (zero):
procedure TForm1.Button3Click(Sender: TObject); var bmp :TBitMap; begin bmp := TBitMap.Create; try ImageList1.GetBitmap(0, bmp); if bmp.Handle > 0 then begin Image1.Picture.Bitmap.Assign(bmp); Image1.Refresh; end; finally bmp.Free; end; end;
GOSTEI 0
Turbo Drive
18/09/2006
Valeu pela dica, mas infelizmente as imagens perdem a resolução. As imagens ficam perfeitas se forem do tamanho de ícones, mas eu preciso que elas tenham 100 x 80 de dimensões (quase do tamanho das gravuras das revistas acima).
Alguém teria uma outra sugestão ?
Alguém teria uma outra sugestão ?
GOSTEI 0
Siam
18/09/2006
Como está o Height e Width do seu TImageList ?
GOSTEI 0
Micheus
18/09/2006
Exatamente, [b:5b3d84e653]siam[/b:5b3d84e653]. [b:5b3d84e653]Turbo Drive[/b:5b3d84e653], o tamanho das imagens definidas no ImageList tem que ser compatível (igual) ao do Image, do contrário, ser tiver habilitada a propriedade AutoStrech as imágens realmente serão distrocidas.
GOSTEI 0
Turbo Drive
18/09/2006
Obrigado galera. Foi vacilo meu mesmo. Não havia atentado para o width e o heigth. Foi só configurar para o tamanho das imagens que apareceram certinhas.
GOSTEI 0
Samuel Basso
18/09/2006
As imagens ficam distorcidas da mesma forma, Utilize do tipo TICON.
var
bmp :TIcon;
begin
bmp := TIcon.Create;
try
ImageList1.GetIcon(1, bmp);
if bmp.Handle > 0 then
begin
Image1.Picture.Icon.Assign(bmp);
Image1.Stretch := True;
Image1.Refresh;
end;
finally
bmp.Free;
end;
end;
var
bmp :TIcon;
begin
bmp := TIcon.Create;
try
ImageList1.GetIcon(1, bmp);
if bmp.Handle > 0 then
begin
Image1.Picture.Icon.Assign(bmp);
Image1.Stretch := True;
Image1.Refresh;
end;
finally
bmp.Free;
end;
end;
GOSTEI 0