簡體   English   中英

使用 PIL 繪制單個像素,但圖像模糊

[英]Using PIL to draw individual pixels, but the image is blurry

我正在嘗試創建一個由彩色方塊組成的圖像。 我只需要每個正方形大一個像素,因為它只是一個塊顏色。 但是,當我使用此代碼時,生成的圖像非常模糊。 反正有沒有讓寄宿生鋒利?

def fancycolnw2(seq,m):
    data=numbwall(seq,m)
    #print(data)
    for i in range(len(data)):
        for j in range(len(data[i])):
            if data[i][j]==' ':
                data[i][j]=-1
    im = Image.new('RGBA', (len(data[0]),len(data))) # create the Image of size 1 pixel 
    #print(data)
    for i in range(len(data)-1):
        for j in range(len(data[i])-1):    
            #print(i,j)
            if data[i][j]==-1:
                im.putpixel((j,i), ImageColor.getcolor('black', 'RGBA'))
            if data[i][j]==0:
                #print('howdy')
                im.putpixel((j,i), ImageColor.getcolor('red', 'RGBA'))
            if data[i][j]==1:
                im.putpixel((j,i), ImageColor.getcolor('blue', 'RGBA'))
            if data[i][j]==2:
                im.putpixel((j,i), ImageColor.getcolor('grey', 'RGBA'))
    im.show()
    im.save('simplePixel.png') # or any image format

我得到的結果是這樣的:圖片

這是正確的圖像,我只希望像素之間的邊界清晰。 任何幫助將不勝感激!

圖像非常清晰,但相當小。 我懷疑您正在“放大”以更清晰地查看它,並且您正在放大的任何程序都在過濾圖像,因為對於大多數圖像來說這看起來更好。 您需要找到一個在放大時使用“最近鄰”重采樣的查看程序,或者生成更大的圖像以開始,例如通過設置 4×4 像素塊而不是單個像素。

(此外,代碼顯示“# 或任何其他圖像格式”。不要為此使用 JPEG,因為有損壓縮可能會破壞您的圖像。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM