def get_image(sheet, x, y, width, height, scale):
image = pygame.Surface((width, height),pygame.SRCALPHA)
image.blit(sheet, (0, 0), (x, y, width, height)) # 0,0 代表画到哪个位置,×,y,w,h
image = pygame.transform.scale(image, (int(width * scale), int(height * scale)))
return image
你在网上在B站搜的,他可能是让你根据底图片的颜色进行抠图,如果是透明的话,它的就是(0,0,0),也就是和黑色共用一个,这样虽然能够处理透明照片,但会造就一个问题,第一,无法正确处理黑色图像,比如背景是透明,但是图片要显示的目标也存在面积黑色,第二就是你把透明底图片的人物照片放上去之后,会出现边缘残缺,像狗啃了一样,这并不是图片清晰度的问题,而是你的代码的问题。
而我的代码里面,它直接设置好,让图片允许有透明度,而不是进行抠图,这样就可以避免图片模糊,同时也能呈现出他最大的样子。