如何獲取圖像的像素的顏色值,並將其映射到pygame表面上?使用Surface.get_at()只返回表面圖層的顏色,而不是返回的圖像。獲取pygame中圖像的單個像素的顏色
1
A
回答
3
方法surface.get_at
沒問題。 下面是一個示例,顯示了在不使用Alpha通道的情況下傳輸圖像時的差異。
import sys, pygame
pygame.init()
size = width, height = 320, 240
screen = pygame.display.set_mode(size)
image = pygame.image.load("./img.bmp")
image_rect = image.get_rect()
screen.fill((0,0,0))
screen.blit(image, image_rect)
screensurf = pygame.display.get_surface()
while 1:
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN :
mouse = pygame.mouse.get_pos()
pxarray = pygame.PixelArray(screensurf)
pixel = pygame.Color(pxarray[mouse[0],mouse[1]])
print pixel
print screensurf.get_at(mouse)
pygame.display.flip()
這裏,點擊紅色像素會給:
(0, 254, 0, 0)
(254, 0, 0, 255)
的PixelArray返回0xAARRGGBB顏色分量,而彩色期待0xRRGGBBAA。另請注意,屏幕表面的alpha通道爲255.
+0
+1很好的答案!只有兩件事:你提到'surface.getAt'並使用'surface.get_at'。這可能會讓人困惑。其次,你在'pygame.display.flip'函數中使用未定義的變量'e'。我不確定它會是什麼樣子,因爲它只是爲了改變幾個字符,所以我不能自己編輯它。 –
相關問題
- 1. 從圖像中獲取像素顏色
- 2. 如何獲取圖像中像素的顏色(加載灰色)?
- 3. 從圖片中獲取像素顏色?
- 4. iPhone:如何獲取圖像的每個像素的顏色?
- 5. 讀取圖像的像素顏色
- 6. iOS:從圖像的每個像素獲取頂部顏色
- 7. 使用Android中的按鈕獲取圖像的像素顏色?
- 8. FreeImage:獲取像素顏色
- 9. GDAL獲取像素顏色
- 10. Java - 獲取像素顏色
- 11. 獲取rMagick中像素的顏色
- 12. 如何從圖像中獲取像素的顏色?
- 13. 獲取像素的顏色在Android的
- 14. XNA中的單個像素顏色
- 15. 使用pygame在位置獲取像素顏色
- 16. 獲取圖像中的所有顏色
- 17. 在鼠標單擊圖形後獲取單個像素的顏色圖形
- 18. 從圖庫中導入的圖像中獲取Android中的像素顏色?
- 19. Python - 獲取圖像的白色像素
- 20. 獲取圖像的平均外部像素顏色
- 21. 統一2D:獲取原始圖像的顏色像素
- 22. 通過畫布獲取現有base64圖像的像素顏色
- 23. 從Vaadin的圖像獲取像素顏色
- 24. WriteableImage - 如何獲取像素的顏色?
- 25. 獲取UIImage的像素顏色
- 26. 從CCRenderTexture獲取像素的顏色
- 27. Java獲取像素的顏色LIVE
- 28. 獲取AVCaptureSession或AVCaptureVideoPreviewLayer的像素顏色
- 29. Dart - 獲取ImageElement的像素顏色
- 30. 在Swift 3中使用CGPoint從圖像獲取像素顏色
請提供您的代碼樣本 – Flint