如何从有多个小图标组成的图片中提取小图标

软件  |  电脑网络

分享:
2017-09-01

2017-09-01最佳答案

可以用PictureClip控件实现:

PictureClip控件: (Microsoft PictureCLip Control 6.0列表项中)
该控件主要用于保存图形,提供图形资源,不能显示图形,运行时自动不可见。可将多幅图形有规律地组织在同一幅图形中,然后再利用PictureClip控件装入,使用时,就可以利用PictureClip控件所提供的方法,从中剪切出所需要的图形。由于图形随控件的装入而装入内存,因此可大加快图形的获取和显示速度,可用于简单动画或游戏的制作。

1) 装入图形:PictureClip1.picture = LoadPicture(c:\samples\cards.bmp")

从PictureClip控件中获取图形有两种方法:

a, 以剪切区域的形式,获取图像源中任意区域的图形,用到PictureClip控件的5个属性,其中ClipX和ClipY属性用于设置要剪切区域的左上角坐标,ClipWidth和ClipHeight属性用于设置剪贴区域的宽度和高度,
剪切区域确定后,就可利用Clip属性来返回剪切区域的图形。
Private Sub Form_Load()
PictureClip1.ClipX = 0
PictureClip1.ClipY = 0
PictureClip1.ClipWidth = 73
PictureClip1.ClipHeight = 99
Image1.Picture = PictureClip1.Clip
End Sub

b,该控件还允许将图像逻辑划分为指定数目的行和列,由这些行和列所划分出的单元格图像,就可以利用控件的GraphicCell属性来获得。该属性的用法为:PictureClip控件名.GraphicCell (图形单元编号)
参数说明:图形单元编号从0开始,并且采取从左至右,从上到下的顺序进行编号。
图像的行和列数,可通过控件的Rows和Cols属性设置,其默认值均为1。