我正在尝试使用PyGame用Python制作一个基本的口袋妖怪副本。过去,我已经学习了一些关于这个库的教程。所以,对于这个项目,我将有一个基本的瓷砖结构,草或水。玩家不允许在水砖上移动,但可以在草地砖上自由移动。我通过教程获得的精灵的尺寸为64 x 64,它占据了瓷砖的整个空间,因此边界周围没有透明像素
但是,出于我的目的,我需要使用我自己的精灵(64 x 64),这是我从精灵表中获得的。但是,在本例中,精灵将图像的上半部分作为透明的未使用像素。这同样适用于雪碧两侧的四分之一。因此,我需要通过沿两个轴将可见像素大小乘以2来批量调整所有精灵的大小。也就是说,只需将精灵大小增加比例因子2即可。我可以很容易地做到这一点,但它仍然是无效的,因为新的精灵大小将是128 x 128,并且未使用像素的比率保持不变
我的问题:
我需要一个方法,我可以用于所有9600精灵我有,最好是在Python,即使我不介意与一些其他软件的解决方案
我试图在网上寻找解决方案,但我不知道如何恰当地表达这个问题
@rabbi76的答案是复制/blit't't一段原稿,然后放大/缩放,这是一个很好的选择,可能也是我的选择
但是,如果您已经将它们调整为较大的大小,并且只需要现有图像/曲面的裁剪版本,则可以使用subsurface()。这将为您提供一个真正类似于虚拟曲面的曲面,该曲面提供了一个进入原始曲面的一部分的窗口。它引用与原始曲面相同的像素,因此如果一个像素发生更改,另一个像素中的像素也可见。不过,这似乎不是你正在做的事情的问题
创建一个透明alpha且大小为32x32的空^{} 对象:
^{} 所需区域(32,16,32,32)将原始64x64精灵(
original_image
)形成到新曲面上:按^{} 缩放新曲面对象
如果这些是图像,您可以使用PIL轻松地执行此操作
忽略此位,它只生成64x64测试图像
这应该是一只可爱的小浣熊
接下来,我们可以按照您描述的比例因子2调整大小(注意:我并没有利用这是一个正方形图像的事实,只是为了使这更具普遍性。您可以使用
imsz=img.size[0]
将其简化一点)这样可以得到2倍比例的图像
现在我们只是修剪它
这为我们提供了一个64x64图像:
相关问题 更多 >
编程相关推荐