基于四张照片制作简易慢跑动画--pictureBox、Timer-Tick的使用、图片不显示或者为未去背、动画闪烁的问题

基于四张照片制作简易动画


使用控件

①Timer

②pictureBox


1.关于组件的背景图像布局BackgroundImageLayout

我们在BackgroundImage中可以改变组件的背景图像,而背景图的显示通常会按照你上传图像的原始尺寸进行载入。那么如何改变背景图像的布局方式呢,需要用到BackgroundImageLayout,在该属性中,一共有5中选择:

None:仅按照上传尺寸进行展示

Tile:按照原始尺寸,横向中心铺满整个窗体

Center:按照原始尺寸,展示在组件正中间

Stretch:根据窗体大小自动改变图片原始的比例

Zoom:不改变原始尺寸比例,图片宽度和窗体一样

(5中布局格式展示)

  

 

2.图片不显示或者为未去背的问题!!

在我按照Picture.Image去加载想要展示出来的图片的时候,我发现并没有显示出来,而且也没有报错。于是我去更改了背景布局格式BackgroundImageLayout以及图像处理方式SizeMode,发现都没有任何的改变。

   

后来发现原来我是调用错了方法,应该使用Picture.BackgroundImage去加载我之前图片,因为我上传的时候修改的是BackgroundImage,即我只是改变了这个组件的背景图像,而这个组件是没有包含任何东西的。(这里所说的包含任何东西指的是:应该通过Image将所需要的图片上传上去,而背景应该保持默认的透明)

将图片换成通过Image加载上去,再使用Picture.Image去加载想要展示出来的图片即可。

3.关于图片Image的布局显示方式

这个时候就可以和BackgroundImageLayout进行对比了,BackgroundImageLayout针对的是背景图片的显示的调整,而SizeMode是对于加入的图片的显示进行的操作:

Normal:图片保持原有尺寸,展示在左上角,多余部分会被截去

StretchImage:根据窗体大小自动调整比例填充这个窗口

AutoSize:根据图片大小自动改变窗口大小

CenterImage:图片保持原有尺寸,展示在中心,多余部分会被截去

Zoom:图片保持原有尺寸的比例增大或缩小

4.当发现加入的图片的背景不是透明的!!!

当我仔仔细细的检查了我插入的图片确实去背景了之后,我发现,他还是这样子的!!这就很奇怪了

因为插入的Image是透明背景的情况下,如果PictureBox仍然有背景,那显示的就是调用图片的那个PictureBox了。我们增加这样一段代码:

picRun.BackColor = Color.Transparent; // picRun是我设置的需要调用图片的组件

将调用图片的那个PictureBox背景改成透明的,即可;

5.动画闪烁的问题

在完成了正常的显示之后,会发现有时候小人后面好像还出现了别的东西

我们把窗体form的的double buffeted属性改成“True”即可

6.Timer控件的Tick事件

在Timer这个控件中,只有Tick这一个事件。也比较简单,通过引发Tick 事件,Timer 控件可以有规律地隔一段时间执行一次代码。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值