如何将pygame中的曲面对象转换为RGB值的二维数组(每个像素为一个值)?我已阅读PixelArrays和Surfarrays的文档,我似乎无法找到我的问题的答案。示例更受欢迎。将pygame中的图像转换为RGB值的二维数组
5
A
回答
8
Pygame的documentation说,鉴于表面的对象,你可以创建一个PixelArray
包装通过调用模块的PixelArray()
方法类似这样提供给它的像素直接二维数组访问:
pxarray = pygame.PixelArray(surface)
按道理一个PixelArray
对象是以整数形式存储的RGB值的二维数组。
PixelArray
一个像素项可以被分配一个原始整数值,一个pygame.Color
实例(颜色表示的对象),或一个(r, g, b[, a])
元组。pxarray[x, y] = 0xFF00FF pxarray[x, y] = pygame.Color(255, 0, 255) pxarray[x, y] = (255, 0, 255)
它还提到:
但是,只返回一个像素的整数值。因此,为了将像素与特定颜色进行比较,需要使用
PixelArray
创建的Surface
对象的方法的Surface.map_rgb()
方法首先映射颜色。
这意味着你需要使用Surface.map_rgb()
方法从PixelArray
整数值得到RGB元组,只要你不是在做一个分配到阵列中,即当阅读像素的值,因为正在做在下面的条件:
# Check, if the first pixel at the topleft corner is blue
if pxarray[0, 0] == surface.map_rgb((0, 0, 255)):
...
希望这会有所帮助。
相关问题
- 1. 将BMP图像转换为二维数组并编辑RGB值C
- 2. 将Java中的二维数组转换为图像
- 3. 如何将二维数组转换为c中的图像#
- 4. 将整数的二维数组转换为灰度图像
- 5. 将二维数组转换为二维数组的多个块
- 6. 将二维图像转换为三维图像的算法
- 7. 将二维数组转换为Java中的一维数组
- 8. OpenCV二维数组到图像转换
- 9. 如何将图像(PNG)转换为二维数组(二进制图像)?
- 10. 将二维数组转换为二维数组列表?
- 11. 将一维数组转换为numpy的二维数组
- 12. 将一维数组的索引转换为二维数组
- 13. 转换为二维数组
- 14. 将二维图像转换为三维图像
- 15. 使用MATLAB将二维图像转换为三维图像
- 16. 在python中将二维数组转换为三维数组
- 17. 在处理中将二维数组转换为一维数组
- 18. 在c中将单维数组转换为二维数组#
- 19. Java GUI程序将二维数组值转换为图形
- 20. 将图像转换为二维数组,然后将图像返回到Java
- 21. 将图像转换为二进制数组和二进制数组转换为java中的图像
- 22. 将二维数组转换为指针
- 23. 将一个数组转换为二维
- 24. 在Python中将二进制图像转换为二维数组或矩阵?
- 25. 将二维数组转换为GAMS中的一维
- 26. 将RGB图像转换为灰度和灰度转换为RGB图像?
- 27. 在OpenCV中将二进制图像转换为RGB
- 28. 将二维Numpy灰度值数组转换为一个PIL图像
- 29. 将一维数组索引转换为二维数组索引
- 30. 将二维数组转换为三维数组
谢谢,就是这么做的。 –