0

私は大学のコースのプログラムを書いています。2次元配列として保存された.PPMファイルをmainから関数にインポートします。次に、.setPixelおよびcolor_RGB()メソッドと関数を使用して、グラフィックウィンドウ(メインで開かれている)のピクセルを更新する必要があります。

ピクセルは更新されていますが、何らかの理由で各色のピクセルの間に白いピクセルがあります。これはPPMファイルではないので(教授から提供されたもので、複数回試しました)、私の機能である必要があります。

警告:コースでまだカバーしていないものをプログラムで使用することは許可されていません(最初の1年、4か月のコースなので、範囲は大きくありません)。なぜそれが行われているのかを知る必要があるのと同じくらい、私はそれを修正する方法を正確に知る必要はありません(別名:私がそれを修正した方法と、そもそもなぜそれが壊れていたのかを説明できる必要があります)。

これが私の関数です:

def Draw_Pic(pic,pic_array, sizeX, sizeY, gfx_window):

for y in range(sizeY):

    for x in range(0, sizeX, 3):

        pixel_color = color_rgb(pic_array[y][x],pic_array[y][x+1],pic_array[y][x+2])


        pic.setPixel(x,y,pixel_color)
        gfx_window.update()
4

1 に答える 1

0

これを使用しrange(0, sizeX, 3)て、増分 3 で値 0 から sizeX のリストを作成します。

したがって、x は 0..3..6..9 などになります。3 つのコンポーネントからピクセルの色を組み立てる部分には完全に理にかなっていますがpic.setPixel(x,y,colors)、同じインターリーブされた x を使用します。

それが役に立ったことを願っています。

PS ところで、なぜ「色」ではなく「色」なのですか?

編集また、そのようにして、 の画像の 1/3 のみをコピーしますpic_array

于 2012-04-25T04:30:15.870 に答える