2012-10-06 67 views
-1

假設我有這樣一個PNG圖像: https://www.box.com/s/dc4dut3yw1vhagm4y9ks如何增加Python中PNG文件的像素大小?

我想增加紅點的大小,這意味着,他們必須填補他們的平方的鄰居。如下圖所示:

www - >rrr

wrw - >rrr

www - >rrr

+0

你有什麼試過的?你說你需要用紅色填充相鄰的像素;那是行不通的? –

+1

我低估了這個問題,因爲我不認爲你已經真的試圖自己解決這個問題了。 –

回答

1

我敢肯定,這可以進一步優化...... basicly它加載圖像兩次,如果在[x + -1,y + -1]範圍內的draw2中找到紅點,則會讀取im1和draw1。由draw2製作的Finally im2被保存。

#!/usr/bin/env python 

import Image 

im1 = Image.open("hil0.png") 
im2 = Image.open("hil0.png") 
w, h = im1.size 

draw1 = im1.load() 
draw2 = im2.load() 

for x in range(w): 
    for y in range(h): 
     if draw1[x,y] == (255,0,0): 
      for dx in [-1,0,1]: 
       for dy in [-1,0,1]: 
        nx = x+dx 
        ny = y+dy 
        # print nx, ny 
        if nx>=0 and ny>=0 and nx<w and ny<h: 
         draw2[ nx, ny ] = (255,0,0) 



# im2.show() 
im2.save("hil1.png")