精华内容
参与话题
问答
  • ImageList

    2011-01-17 22:57:00
    CImageList m_imageList; //创建CImageList对象 m_imageList.Create(16, 16, ILC_COLOR8, 0, 4); //加载图标 m_imageList.Add(AfxGetApp()->LoadIcon(IDI_ICON_ROOT)); 然后该CTreeCtrl了,这是一个树形...

    例如:

    CImageList m_imageList;

    //创建CImageList对象
    m_imageList.Create(16, 16, ILC_COLOR8, 0, 4);
    //
    加载图标

    m_imageList.Add(AfxGetApp()->LoadIcon(IDI_ICON_ROOT));

    然后该CTreeCtrl了,这是一个树形列表控件,提供了分层级结构显示数据的功能。这个控件有可视化的界面,可以通过界面编辑器进行创建,只需要拉到界面上即可;同样也可以通过Create函数创建一个树形列表控件,由于这种方法通常不用,这里不再赘言。另外该控件还有很多树形,如Has ButtonHas Line等,可以在界面编辑器的属性中查看并设置。

    树形控件有两个非常重要的数据结构:TV_ITEMTV_INSERTSTRUCT。前者用来描述一个树节点的信息;后者描述要插入树时所需的信息。结构如下:

    typedef struct _TV_ITEM {
    UINT mask; //
    结构成员有效性屏蔽位

    HTREEITEM hItem; //
    数据项控制句柄

    UINT state; //
    数据项状态

    UINT stateMask; //
    状态有效性屏蔽位

    LPSTR pszText; //
    数据项名称字符串

    int cchTextMax; //
    数据项名称的最大长度

    int iImage; //
    数据项图标索引号

    int iSelectedImage; //
    选中数据项图标索引号

    int cChildren; //
    子项标识

    LPARAM lParam; //
    程序定义的32位数据
    TVIF_PARAM
    } TV_ITEM, FAR *LPTV_ITEM;

    typedef struct _TV_INSER TSTRUCT
    {
    HTREEITEM hParent; //
    父项控制句柄

    HTREEITEM hInsertAfter; //
    插入树项的位置

    TV_ITEM item; //
    数据项的结构

    } TV_INSERTSTRUCT, FAR *LPTV_INSERTSTRUCT;

    使用CImageList可以方便的为CTreeCtrl提供图标。首先设置树形控件的图形列表:

    m_treeStruct.SetImageList(&m_imageList,TVSIL_NORMAL);

    然后在添加树形列表节点时可以设置节点的选中时图标索引和未选中时的图标索引。如果没有设置,则数据结构会默认为0。数据结构为上面的TV_ITEM

    向树形控件中添加根节点

    添加根节点是比较麻烦的,具体代码如下:

    TVINSERTSTRUCT tvInsert; //定义一个插入结构
    HTREEITEM hParent; //
    用来保存插入的位置

    tvInsert.hParent = NULL; //
    设置父节点为空

    tvInsert.hInsertAfter = NULL; //
    设置之前的节点同样为空

    tvInsert.item.mask = TVIF_TEXT; //
    设置掩码

    tvInsert.item.pszText = _T("
    公司"); //要显示的文字为公司

    hParent = m_treeStruct.InsertItem(&tvInsert); //
    插入树形结构中,并返回插入的位置

    有了父节点hParent ,再要插入子节点就方便了:

    //添加第一级项目"技术部"
    //
    参数列表:显示的文字、已选择的图标索引、未选择的图标索引、父节点的HTREEITEM

    HTREEITEM h1 = m_treeStruct.InsertItem("
    技术部",1,2,hParent);

    //添加第一级项目"管理学院"下的子项目,即第二级
    m_treeStruct.InsertItem("ERP
    ",3,4,h1);
    m_treeStruct.InsertItem("UI
    ",3,4,h1);
    m_treeStruct.InsertItem("
    核心研发组",3,4,h1);

    //添加其他第一级项目
    m_treeStruct.InsertItem("
    销售部",1,2,hParent);

    展开树节点:

    //展开第一级项目
    m_treeStruct.Expand(hParent,TVE_EXPAND);

    向选中节点添加子节点:

    //获取树形控件选择的项目
    HTREEITEM hItem = m_treeStruct.GetSelectedItem();
    //
    获取选择项目的子项目图像的索引、子项目选择后的图像索引,

    //
    以便设置新添加的项目索引

    int index,selindex;
    m_treeStruct.GetItemImage(m_treeStruct.GetChildItem(hItem),index,selindex);
    //
    插入新的子项目到选择的项目下

    m_treeStruct.InsertItem(m_strItem,index,selindex,hItem);
    //
    展开选择的项目,以便查看新增加的子项

    m_treeStruct.Expand(hItem,TVE_EXPAND);

    删除选中节点:

    //获取树形控件选择的项目
    HTREEITEM hItem = m_treeStruct.GetSelectedItem();
    //
    删除选择的项目以及其下的所有子项

    m_treeStruct.DeleteItem(hItem);

    CImageList控件详解
    CImageList
    控件2008-04-1710:44图像列表控制(CImageList)是相同大小图像的一个集合,每个集合中均以0为图像的索引序号基数,图像列表通常由大图标或位图构成,其中包含透明位图模式。能够利用WINDOWS32位应用程式接口函数API来绘制、建立和删除图像,并能实现增加、删除、替换和拖动图像等操作。图像列表控制提供了控制图像列表的基本方法,这些方法在WINDOWS95及以后版本才能实现。


      (一)图像控制的对象结构


      1、图像控制的数据成员


       m_hImageList连接图像对象的控制句柄


      2、图像控制的建立方法


       CimageListimageList建立图像控制对象结构


       Create初始化图像列表并绑定对象


      图像控制的建立方法如下:


    BOOLCreate(intcx,intcy,UINTnFlags,intnInitial,intnGrow);

    BOOLCreate(UINTnBitmapID,intcx,intnGrow,COLORREFcrMask);

    BOOLCreate(LPCTSTRlpszBitmapID,intcx,intnGrow,COLORREFcrMask);

    BOOLCreate(CImageList&imagelist1,intnImage1,CImageList&imagelist2

    ,intnImage2,intdx,intdy);


      其中各项参数的含义为:cx定义图像的宽度,单位为象素;cy定义图象的高度,单位为象素;nFlags确定建立图像列表的类型,能够是以下值的组合:ILC_COLORILC_COLOR4ILC_COLOR8ILC_COLOR16ILC_COLOR24ILC_COLOR32ILC_COLORDDBILC_MASKnInitial用来确定图像列表包含的图像数量;nGrow用来确定图像列表可控制的图像数量。


       NbitmapID用来确定图像列表联系的位图标志值;crMask表示颜色屏蔽位;


       LpszBitmapID用来确定包含位图资源的标识串;


      imagelist1指向图像列表控制对象的一个指针;nImage1图像列表1中包含的图像数量;imagelist2指向图像列表控制对象的一个指针;nImage2图像列表2中包含的图像数量;dx表示以象素为单位的图像宽度;dy表示以象素为单位的图像高度。


      同样,图像控制的建立也包括两个步骤,首先建立图像列表结构,然后建立图像列表控制。


      3、图像控制的属性类


      图像控制的属性类包括返回m_hImageList.控制句柄GetSafeHandle、取得图像列表中的图像数量GetImageCount、配置图像列表的背景颜色SetBkColor、取得图像列表的背景颜色SetBkColor和取得图像的有关信息SetBkColor


      4、图像控制的操作方法


      图像控制的操作方法包括将一个图像列表绑定到一个对象上Attach、将对象上的图像列表解除绑定并返回句柄Detach、删除一个图像列表DeleteImageList、将一个图像增加到图像列表中Add和将一个图像从图像列表中删除Remove等。


      (二)图像控制的应用技巧


      对于图像控制,同样不能单独使用,必须和列表控制、树控制和标签控制相互结合应用,下面分别介绍其具体应用技巧。


      1、图像控制在列表控制中的应用技巧


      配置图像控制CListCtrl::SetImageList的调用格式如下:


    CImageList*SetImageList(CImageList*pImageList,intnImageList);

      其返回值是指向前一个图像列表控制的一个指针,假如不存在前一个图像列表则为NULL;其中参数pImageList是指向图像列表的标识,nImageList是图像列表的类型,能够是如下值:


      LVSIL_NORMAL用大图标方式进行图像列表;


      LVSIL_SMALL用小图标方式进行图像列表;


      LVSIL_STATE以图像状态进行图像列表;


      取得图像控制CListCtrl::GetImageList的调用格式如下:


    CImageList*GetImageList(intnImageList)const;

      其返回值为指向图像列表控制的指针,其中nImageList用来确定取得返回值的图像列表的值,其取值和配置图像列表函数相同。


      图像控制在列表控制中的应用示例

    CImageListCil1,Cil2;//定义大小图标像列表

      CVCLISTApp*pApp=(CVCLISTApp*)AfxGetApp();//取得列表控制程式


      Cil1.Create(32,32,TRUE,2,2);//建立32位图像控制


      Cil1.Add(pApp->LoadIcon(IDI_GJ));//增加选中状态图像


      Cil1.Add(pApp->LoadIcon(IDI_XS));//增加非选中状态图像


      Cil2.Create(16,16,TRUE,2,2);//建立16位图像控制


      Cil2.Add(pApp->LoadIcon(IDI_GJ));//增加选中状态图像


      Cil2.Add(pApp->LoadIcon(IDI_XS));//增加非选中状态图像


      m_ListCtrl.SetImageList(&Cil1,LVSIL_NORMAL);//配置大图标控制


      m_ListCtrl.SetImageList(&Cil2,LVSIL_SMALL);//配置小图标控制



      2、图像控制在树控制中的应用技巧


      配置图像控制CTreeCtrl::SetImageList的调用格式如下:


    CImageList*SetImageList(CImageList*pImageList,intnImageListType);

      其返回值为指向前前一个图像列表的指针,否则为NULL;参数pImageList为指向图像列表的标识,假如pImageListNULL则任何的图像都将从树控制中被清除;nImageListType为图像列表配置的类型,能够是如下值之一:


      TVSIL_NORMAL配置正常图像列表,其中包括选中和非选中两种图标;


      TVSIL_STATE配置图像列表状态,指用户自定义状态;


      取得图像控制CTreeCtrl::GetImageList的调用格式如下:


    CImageList*GetImageList(UINTnImage);

      假如调用成功则返回图像列表控制指针,否则为NULLnImage为取得返回值的图像列表类型,其取值和取得图像列表控制完全相同。


      图像控制在树控制中的应用示例


    CImageListCil1,Cil2;//
    定义大小图标像列表


    CVCTREEApp*pApp=(CVCTREEApp*)AfxGetApp();//
    获取应用程式指针


    Cil1.Create(16,16,ILC_COLOR,2,2);//
    建立图像控制


    Cil1.Add(pApp->LoadIcon(IDI_PM));//
    增加选中状态图像


    Cil1.Add(pApp->LoadIcon(IDI_CJ));//
    增加非选中状态图像


    m_TreeCtrl.SetImageList(&Cil1,TVSIL_NORMAL);//
    配置图像控制列表



      然后在树控制的结构定义中进行如下配置:


    TCItem.item.iImage=0;//
    配置未选中图像索引号


    TCItem.item.iSelectedImage=1;//
    配置选中时图像引号



      3、图像控制在标签控制中的应用技巧


      配置图像控制CTabCtrl::SetImageList的调用格式


    CImageList*SetImageList(CImageList*pImageList);

      其返回值为指向前一个图像列表的指针,假如不存在前一个图像列表则为NULLpImageList为标识TAB控制的图像列表指针。


      取得图像控制CTabCtrl::GetImageList的调用格式


    HIMAGELISTGetImageList()const;

      其返回值为指向TAB控制的图像列表指针,假如调用不成功则为NULL


      其应用技巧较前两种更加简单,这里不再赘述。

    1.综述
    MFCCImageList类封装了图像列表控件的功能,图像列表是一个具有相同大小的图像(可以是不同类型)的集合,其主要用于应用程序中大规模图标的存储。该控件是不可见的,通常与其它如CListBoxCComboBoxCComboBoxExCTabCtrl以及CTreeCtrl一起使用,为他们提供图标资源。


    图象的每个集合中均以0为图象索引基数,可以把这些图标看成是以数组方式存储的,图像列表通常由大图标或位图构成,其中包含位图模式。实际上,所有的在同一个图象列表中的图标都被存储在一个屏幕设备的位图中。



    2.
    添加图像的两种方法

    通常可以向CImageList对象中添加位图和图标资源。其资源可以是程序中资源文件中的资源,也可以直接从外部文件调入。



    (1)
    从程序中资源文件中添加图标和位图图像如下所示(通常这是最为简单直观的方法):


    //
    创建一个CImageList类的指针变量

    CImageList*pImageList;
    pImageList=newCImageList();
    pImageList->Create(32,32,ILC_COLOR32,0,4);//
    必不可少


    //
    添加图标,图标可以随图像列表大小自动拉伸

    pImageList->Add(AfxGetApp()->LoadIcon(IDI_ICON1));
    pImageList->Add(AfxGetApp()->LoadIcon(IDI_ICON2));

    //
    添加位图,并使黑色为透明色,如果图像列表大小和位图大小不一致可能会导致天添加失败

    CBitmapbmp;
    bmp.LoadBitmap(IDB_BITMAP1)
    pImageList->Add(&bmp,RGB(0,0,0));
    bmp.DeleteObject();
    bmp.LoadBitmap(IDB_BITMAP2)
    pImageList->Add(&bmp,RGB(0,0,0));




    (2)
    从外部文件中添加图标和位图图像代码如下所示(这种方法可以是可执行程序更小,便于发行)


    HBITMAPhBitmap;
    CBitmap*pBitmap;
    CStringFilePathName="e:/TIME.bmp";
    pBitmap=newCBitmap;
    //
    从文件导入位图


    HBitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),FilePathName,

    IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
    pBitmap->Attach(hBitmap);
    m_pImageList->Add(pBitmap,RGB(0,0,0));




    这样一个图像列表控件就创建好了,并且已经添加了图像,接下来就可以在其它控件中使用其中的图像。通常需要调用SetImageList(m_pImageList)将当前图像列表设置为引用图像源。

    展开全文
  • c#imagelist

    2016-03-10 15:09:21
    c#imagelist
  • Imagelist 控件

    2018-03-14 14:58:00
    Imagelist 控件可以添加图标给button按钮控件用,它下面有两个属性可以设置相关,(imageList,imageindex)属性 转载于:https://www.cnblogs.com/jasonch123/p/8567607.html

    Imagelist 控件可以添加图标给button按钮控件用,它下面有两个属性可以设置相关,(imageList,imageindex)属性

    转载于:https://www.cnblogs.com/jasonch123/p/8567607.html

    展开全文
  • Preprocess in ImageList

    2020-12-26 01:57:09
    <div><p>Provided ImageList in datasets.py with a preprocess argument that runs on the original image before saving it.</p><p>该提问来源于开源项目:vita-epfl/openpifpaf</p></div>
  • imagelist用法

    2018-02-03 09:21:00
    1、添加一个Imagelist控件,并双击控件图标如下图 2、点击新增按钮 转载于:https://www.cnblogs.com/semth/p/8408628.html

    1、添加一个Imagelist控件,并双击控件图标如下图

    2、点击新增按钮

     

    转载于:https://www.cnblogs.com/semth/p/8408628.html

    展开全文
  • vb imagelist 作用

    2019-09-27 12:21:16
    以下资料来自MSDN关于ImageList 控件帮助文档:ImageList 控件不能独立使用,只是作为一个便于向其它控件提供图象的资料中心。ImageList 控件的作用象图像的储藏室,同时,它需要第二个控件显示所储存的图像。第二个...
    以下资料来自MSDN关于ImageList 控件帮助文档:

    ImageList 控件不能独立使用,只是作为一个便于向其它控件提供图象的资料中心。

    ImageList 控件的作用象图像的储藏室,同时,它需要第二个控件显示所储存的图像。第二个控件可以是任何能显示图像 Picture 对象的控件,也可以是特别设计的、用于绑定 ImageList 控件的 Windows 通用控件之一。这些控件包括ListView、ToolBar、TabStrip、Header、ImageCombo、和 TreeView 控件。为了与这些控件一同使用 ImageList,必须通过一个适当的属性将特定的 ImageList控件绑定到第二个控件。对于 ListView 控件,必须设置其 Icons 和 SmallIcons 属性为 ImageList 控件。对于 TreeView、TabStrip、ImageCombo、和 Toolbar 控件,必须设置 ImageList 属性为 ImageList 控件。

    在设计时,可以用“ImageList 控件属性”对话框的“图像”选项卡来添加图象。在运行时,可以用 Add 方法给 ListImages 集合添加图象。

    对于 Windows 通用控件来说,设计时可以用“自定义属性”对话框来指定一个 ImageList。运行时也可以用 ImageList 属性指定一个 ImageList 控件,就象下面的例子所述的那样,它可以设置 TreeView 控件的:

    TreeView1.ImageList = ImageList1 '指定 ImageList 属性
    重点 当与 Windows 通用控件一起使用 ImageList 控件时,在将它绑定到第二个控件之前,按照您希望的顺序将全部需要的图像插入到 ImageList。一旦 ImageList 被绑定到第二个控件 ,您就不能再删除图像了,并且也不能将图像插入到 ListImages 集合中间。但是您可以在集合的末尾添加图像。

    一旦 ImageList 与某个 Windows 通用控件相关联,就可以在过程中用 Index 属性或 Key 属性的值来引用 ListImage 对象了。下面的示例设置 TreeView 控件的第三个 Node 对象的 Image 属性为 ImageList 控件中的第一个 ListImage 对象:

    '使用 ImageList1 的 Index 属性值。
    TreeView1.Nodes(3).Image = 1
    '或者使用 Key 属性值。
    TreeView1.Nodes(3).Image = "image 1" '假定 Key 值为 "image 1。"

    要与其它控件(不能绑定到 ImageList 控件的控件)一起使用 ImageList 控件,将第二个控件的 Picture属性赋值给 ImageList 控件中的任何一个图像的 Picture对象。例如,下面的代码把 ListImages 集合中的第一个 ListImage 对象的 Picture 对象赋值给一个新创建的 StatusBar 面板的 Picture 属性:

    Dim pnlX As Panel
    Set pnlX = StatusBar1.Panels.Add() '添加一个 Panel 对象。
    Set pnlX.Picture = ImageList1.ListImages(1).Picture '设置图片。

    注意 将图像赋值给 Picture 对象时,必须使用 Set 语句。

    可以插入任何大小的图像到 ImageList 控件中。然而,由第二个控件显示的图像大小是由一个因素决定的:第二个控件是否也是一个绑定到 ImageList 控件的 Windows 通用控件。

    当 ImageList 控件被绑定到另一个 Windows 通用控件时,不同大小的图片可以被添加到控件中,但是在关联的 Windows 通用控件中显示的图象大小将受到添加到 ImageList 图像中的第一个图象大小的约束。例如,如果您添加一个 16 × 16像素的图像到 ImageList 控件中,然后将 ImageList 绑定到 TreeView 控件(用 Node 对象显示),所有存储于 ImageList 控件中的图像将以 16 × 16像素显示,即使它们的尺寸是更大或更小。

    此外,如果您用 Picture 对象显示图像,则存储在 ImageList 控件中的任何图像都将以图像最初的大小显示,无论它的尺寸是更大还是更小。

    转载于:https://www.cnblogs.com/rosesmall/archive/2012/12/04/2801007.html

    展开全文
  • ListView 与 ImageList

    2020-08-17 13:59:08
    需要用到的属性: 属性名称 说明 liems ... 大图标图像的ImageList控件 SmallImageList 小图标图像的ImageList控件 1、其中的视图就好比咱在桌面鼠标右击查看里面的大图标小图标类似 ...
  • ImageList 图像列表控件

    2020-12-01 08:55:05
    ImageList 图像列表控件 ImageList 控件是含有图像的集合, 图像列表控件是含有图像对象的集合可以通过索引或关键字引用该集合中的每个对象。 imageList空间不能单独使用, 只能用来为windows窗体中的其他控件提供...
  • C#中Imagelist控件

    2020-06-20 11:46:06
    文章目录一、使用编译器自动生成imagelist控件二、动态创建imagelist控件三、ImageList常用的方法大多在 ImageList.Images下 一、使用编译器自动生成imagelist控件 1、首先拖入一个imagelist控件,其将在窗口下面...
  • Fix ImageList memory leaks

    2021-01-07 13:44:27
    <p>Disposing a listview control that has shared instances of <code>ImageList</code> wired to any of its properties will cause memory leaks due to incorrect unwiring of associated <code>ImageList...
  • Android之ImageList

    2020-10-24 18:16:49
    Android studio里面是没有自带的ImageList控件的,所以布局需要我们自己定义 一、先将图片文件放入工程目录Drawable文件夹下 二、创建两个布局文件 1.main_activity.xml 在主活动布局中放入一个List控件,详情如下图. ...
  • ImageList#append hangs

    2020-12-26 00:43:25
    <p><code>ImageList#append</code> and other methods that output a single <code>Image</code> (such as <code>#average) hang when used after adding more than one image via <code>+=, <code>#concat...
  • ImageList 载入图片

    2019-07-21 23:01:42
    Var aBitmap: TBitmap; begin aBitmap := TBitmap.Create; ... aBitmap.LoadFromFile('00.bmp');... ImageList1.AddMasked(aBitmap, aBitmap.TransparentColor); finally aBitmap.Free; ...
  • delphi fmx android-imagelist 获取图片
  • ImageList 图像列表控件 ImageList 控件是含有图像的集合, 图像列表控件是含有图像对象的集合可以通过索引或关键字引用该集合中的每个对象。 imageList空间不能单独使用, 只能用来为windows窗体中的其他控件提供...
  • C#中Imagelist详解

    万次阅读 2019-01-14 14:47:48
    借由编译器自动生成的代码和动态创建的代码来说一说Imagelist控件的使用: 首先拖入一个imagelist控件,其将在窗口下面分栏显示: 接着插入一些图片: 编译后,我们会发现资源管理器中出现了一个后缀为...
  • ImageList 图像列表控件 ImageList 控件是含有图像的集合, 图像列表控件是含有图像对象的集合可以通过索引或关键字引用该集合中的每个对象。 imageList空间不能单独使用, 只能用来为windows窗体中的其他控件提供...
  • 2.3 C#ImageList

    2018-12-24 11:51:00
    ImageList 图像大小都是一样,通过属性ImageSize控制 图像通过索引或者键值来指定 方法 Add:添加图像 RemoveAt移除单个图像,根据索引 Clear:清除所有图像 private void button1_Click(object sender, ...
  • ImageList控件

    2013-05-14 19:46:00
    代码添加图片 ImageList1.Images.Add(Image.FromFile("c:\\windows\\FeatherTexture.bmp")); //设置控件的排列样式 listView1.View = View.Tile; //设置属性 listView1...
  • ImageList与ListView控件

    2020-12-01 08:23:41
    ImageList组件,又称为图片存储组件,它主要用于存储图片资源,然后在控件上显示出来,这样就简化了对图片的管理。ImageList组件的主要属性是Images,它包含关联控件将要使用的图片。每个单独的图片可以通过其索引值...
  • ImageList 图像列表控件 ImageList 控件是含有图像的集合,图像列表控件是含有图像对象的集合可以通过索引或关键字引用该集合中的每个对象。imageList空间不能单独使用,只能用来为windows窗体中的其他控件提供图像...
  • How would I go about getting array values from object in an imagelist contenttype? Also, how would I add pager() to imagelists? <p>code: http://pastebin.com/410m1Wbj</p><p>该提问来源于开源项目:...
  • ImageList 导出文件

    2018-02-06 16:48:47
    将找不到源文件的资源导出成文件格式 以便再次利用  foreach (var key in ImageList.Images.Keys)  {  MaterialImageList.Images[key].Save("path" + key);  }
  • ImageList加载BMP在ListCtrl中显示的Demo,一个测试Demo,没什么好说明的了, ImageList加载BMP在ListCtrl中显示的Demo,一个测试Demo,没什么好说明的了,
  • ImageList控件应用实例

    2010-05-24 21:33:05
    ImageList控件应用实例,ImageList控件应用实例 VB
  • fmx-android-imagelist获取图片
  • 浅谈ImageList

    千次阅读 2016-07-05 17:01:50
    ImageList组件用了很久,但是一直不太清楚它的实现原理,今天专门特意花了时间倒腾了下,终于弄明白了!于是在这里和大家分享下! 在设计页面中打卡工具箱-组件 找到ImageList组件,将它直接拖到页面上,将会自动...
  • <div><p>option <code>imageList</code> will be useful to declare the list of images path to be used locally as clusters images without thinking in styles. In some cases is necessary to rename the image...

空空如也

1 2 3 4 5 ... 20
收藏数 1,904
精华内容 761
关键字:

imagelist