python找图片特定区域,如何在python中,在特定图像区域内对图像进行blit?

I'm making a game and I need to blit my objects inside the area of a specific image. I don't want to need my surface to blit these images. Is it possible? (I'm using pygame)

解决方案

It would be better in the future if you would explain what you are trying to do a bit better since it would give you more answers :)

From what I have understood you want to blit an image onto another image:

For this code to work the following premises are set:

The folder which contains the program also contains the arbritary images named testimage.png and testimage0.jpg

PyGame is installed

I have written the following piece of code which you can run if you follow the above premises:

import pygame

screen = pygame.display.set_mode([800, 800], 0, 32)

#initiates screen

image1 = pygame.image.load('testimage0.jpg')

#testimage0.jpg is loaded into the variable image1

image2 = pygame.image.load('testimage.png').convert_alpha()

#testimage.png is loaded into the variable image2

while True:

screen.fill([0, 0, 0])

#screen is filled with a black background

screen.blit(image1, [200, 200])

#here image1 is blitted onto screen at the coordinates (200,200)

image1.blit(image2, [0, 0])

#here image2 is blitted onto image1 at the coordinates (0,0) which starts at the upper left of image1

pygame.display.update()

#updates display, which you can just ignore

Images are just surfaces with a sprite or picture on. The coordinate system of a surface always starts at the upper left (0,0), which is why (0,0) of image1 isn't the same as the (0,0) of screen.

I took a picture of the program and edited some arrows in to explain my point:

d7c6fa2c7c33bb3a29359be063a1d7c5.png

Hope this was a help and remember to accept as the answer if you find it acceptable :)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值