图片拉动显示

时间:2020-12-30 19:30:16
想做一个图片拉动的效果
列如 在固定的100x100的位置里,图片1 和图片2都是100x100的大小。
先显示图片1,点一个button之后,图片1向左拉动,同时图片2从右侧出现,过程大概2秒,知道图片1完全不显示,图片2全部显示。
就和网站首页图片新闻一样。
想不到如何做,请大家帮帮忙

8 个解决方案

#1


自己想了个笨方法,网页这种效果的源代码很多,把图片做进去,然后录制屏幕成视频,截取视频画面一部分转成gif图。
点按钮之后,设定一个计时器,显示gif图,计时器结束后,再显示图2。

#2


你的意思我明白,StrechBlt函数可以让一幅位图拉伸或者压缩显示,比如图1向左拉动的时候用这个函数把图1压小显示在左边,然后再用这个函数把图2以100-图1宽的大小来显示的右边

#3


引用 2 楼 csdn1223537114 的回复:
你的意思我明白,StrechBlt函数可以让一幅位图拉伸或者压缩显示,比如图1向左拉动的时候用这个函数把图1压小显示在左边,然后再用这个函数把图2以100-图1宽的大小来显示的右边

等我试试的,搜到一个用ps直接做拉动效果的方法,不用录屏幕那么麻烦

#4


引用 2 楼 csdn1223537114 的回复:
你的意思我明白,StrechBlt函数可以让一幅位图拉伸或者压缩显示,比如图1向左拉动的时候用这个函数把图1压小显示在左边,然后再用这个函数把图2以100-图1宽的大小来显示的右边

想要那个动的效果,有图片移动的视觉感。。

#5


可以吧图片放在一个picture里,然后去以填充的方式显示图片,最后就是去用鼠标拖动来修改这个picture控件大小,里面的图片自然也就能跟着动了

#6


不完全显示是啥意思?

#7


我明白你的意思了,直接用BitBlt函数啊,用个循环,显示第二帧的时候,第一张图片用BitBlt把右边99列像素贴上去,再把第二张图片的第一列像素贴上去,第三帧的时候把第一张图片的右边98列像素贴上去,再把第二张图片的前两列像素贴上去,明白原理之后就好办了

#8


写一段动画程序,使用双缓冲方式绘图,将2个画片放在不同的缓冲区中,通过定时器和图片坐标位置算法,将图片显示出来即可。

#1


自己想了个笨方法,网页这种效果的源代码很多,把图片做进去,然后录制屏幕成视频,截取视频画面一部分转成gif图。
点按钮之后,设定一个计时器,显示gif图,计时器结束后,再显示图2。

#2


你的意思我明白,StrechBlt函数可以让一幅位图拉伸或者压缩显示,比如图1向左拉动的时候用这个函数把图1压小显示在左边,然后再用这个函数把图2以100-图1宽的大小来显示的右边

#3


引用 2 楼 csdn1223537114 的回复:
你的意思我明白,StrechBlt函数可以让一幅位图拉伸或者压缩显示,比如图1向左拉动的时候用这个函数把图1压小显示在左边,然后再用这个函数把图2以100-图1宽的大小来显示的右边

等我试试的,搜到一个用ps直接做拉动效果的方法,不用录屏幕那么麻烦

#4


引用 2 楼 csdn1223537114 的回复:
你的意思我明白,StrechBlt函数可以让一幅位图拉伸或者压缩显示,比如图1向左拉动的时候用这个函数把图1压小显示在左边,然后再用这个函数把图2以100-图1宽的大小来显示的右边

想要那个动的效果,有图片移动的视觉感。。

#5


可以吧图片放在一个picture里,然后去以填充的方式显示图片,最后就是去用鼠标拖动来修改这个picture控件大小,里面的图片自然也就能跟着动了

#6


不完全显示是啥意思?

#7


我明白你的意思了,直接用BitBlt函数啊,用个循环,显示第二帧的时候,第一张图片用BitBlt把右边99列像素贴上去,再把第二张图片的第一列像素贴上去,第三帧的时候把第一张图片的右边98列像素贴上去,再把第二张图片的前两列像素贴上去,明白原理之后就好办了

#8


写一段动画程序,使用双缓冲方式绘图,将2个画片放在不同的缓冲区中,通过定时器和图片坐标位置算法,将图片显示出来即可。