现在有多个imagelist一个大小是64×64 ,另外几个的大小是48 × 48;32×32,16×16 ,如何将 64×64 中的图片依次保存到其他大小的imagelist中去呢?请高人提示?

解决方案 »

  1.   

    印象里直接保存会被imagelist把图片切割,所以自己弄个tbitmap循环压缩赋值呗
      

  2.   

    表告诉我不知道怎么压缩,一个64x64的bitmap一个32x32的bitmap,canvas.copyrect就行了
      

  3.   

    直接改 好像是没有办法的。procedure TForm1.FormCreate(Sender: TObject); //放一个imagelist(48*48),3个image控件测试
    var
    bmp:TBitmap;
    begin
     bmp := TBitmap.Create;
     ImageList1.GetBitmap(0,bmp);
     Image1.Picture.Assign(bmp); bmp.Width:=32;
     bmp.Height:=32;
     Image2.Picture.Assign(bmp); bmp.Width:=16;
     bmp.Height:=16;
     Image3.Picture.Assign(bmp); bmp.Free;end; //图片从大改下,不然可能失真吧。
      

  4.   

    循环  for i:=0 to ImageList1.Count-1
      

  5.   

    imagelist里的图片是可以替换的