[英]Python - getting image size with function returns error
我是python的新手,我試圖使用從另一篇文章中復制的函數來獲取圖像的高度,以便可以將圖像正確放置在窗口中,以便使用PyGame制作游戲。 有任何想法嗎?
碼:
http://pastebin.com/atZ6vbZQ (從此處復制get_image_size)
錯誤:
追溯(最近一次通話最近):文件“ Game / game.py”,第67行,位於displayCar((display_width / 2),(display_height-(get_image_size(Lightning).height)))文件“ Game / game.py”在get_image_size中的第22行,其中open(fname,'rb')作為句柄:TypeError:強制轉換為Unicode:需要字符串或緩沖區,pygame.Surface
get_image_size(fname)
需要file name
但是您使用的是Lightning
,它是pygame.Surface()
對象
但是pygame.Surface()非常有用,您可以將其大小(和位置)作為pygame.Rect()對象獲取
Lightning_rect = Lightning.get_rect()
然后你有圖像的大小和位置
Lightning_rect.width
Lightning_rect.height
Lightning_rect.x
Lightning_rect.y
Lightning_rect.left
Lightning_rect.right
Lightning_rect.top
Lightning_rect.bottom
Lightning_rect.center
等等
您可以使用更改位置
Lightning_rect.x = new_x
Lightning_rect.y = new_y
要么
Lightning_rect.topleft = (new_x, new_y)
然后畫/畫
gameDisplay.blit(Lightning, Lightning_rect)
如果要在屏幕上居中放置圖像,則
gameDisplay_rect = gameDisplay.get_rect()
Lightning_rect.center = gameDisplay_rect.center
BWT:您可以使用Rect()檢查與另一個Rect()( pygame.Rect.colliderect
)或點( pygame.Rect.collidepoint
)的pygame.Rect.collidepoint
-即 用鼠標位置建立按鈕。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.