作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
编写一个名为listenToPicture的函数,该函数将一张图片作为参数。首先显示图片。 接下来,它将遍历每第4行中的每第4个像素,并执行以下操作。它将计算像素的红色,绿色和蓝色级别的总和,将其除以9,然后将结果加到24。该数字将是playNote播放的音符编号。
这意味着像素越暗,音符越低;像素越轻,音符越高。它将以最大音量(127)播放该音符达十分之一秒(100毫秒)。每次移动到新行时,它都会在控制台上打印出行号(y值)。
您的主要功能将要求用户选择带有图片的文件。它将打印要播放的音符数(即图片中的像素数除以16;为什么?)。然后它将调用listenToPicture函数。
这是到目前为止的内容,我不确定如何设置在第4行中每第4个像素循环。任何帮助将不胜感激。
def main():
pic= makePicture( pickAFile())
printNow (getPixels(pic)/16)
listenToPicture(pic)
def listenToPicture(pic):
show(pic)
w=getWidth(pic)
h=getHeight(pic)
for px in getPixels(pic):
r= getRed(px)
g= getGreen(px)
b= getBlue(px)
tot= (r+g+b)/9
playNote= tot + 24
最佳答案
阶跃范围让人想到range(0, len(), 4)
,但我不知道您的pic
的类型。
关于python - 如何使用Python遍历第4行中的第4个像素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2376505/
我是一名优秀的程序员,十分优秀!