为什么python程序没有创建任何像素?

问题描述

import pyautogui as pug
from PIL import Image,ImageGrab
from time import sleep
from numpy import asarray

def screenshot():
    """Takes Screenshot of the current window"""
    img = ImageGrab.grab().convert('L')  #To convert the current image in B & W format 
    
    return img


if __name__ == "__main__":
    sleep(3)
    img = screenshot()
    data = img.load()
    print(asarray(img))  #displays the image in matrix form
    #To make a black pixel over the image at coordinate(X:460 Y:320) [Not working :/]
    data[420,320] = 0
    img.show()

代码应在图像上创建黑色像素:坐标420、320处的“ img” 但是问题在于它不会产生这种像素。我在做什么错了?

谢谢

解决方法

它实际上有效! 1个像素太小,看不到。您可以增加要变黑的区域。

尝试一下

for _ in range(410,430):
    for __ in range(310,330):
        data[_,__] = 0

代替

data[420,320] = 0