2015-11-07 20 views
0

夥計們,我想縮放圖像既縮小它和擴大,並保持它的圖像中的位置。讓我解釋。下面給出的圖像: Image,我需要它的規模,但保持位置。比例的圖像 - 維護位置 - 枕頭

我使用下面的代碼來做到這一點,但它不保存的位置。有任何想法嗎?

from PIL import Image, ImageChops, ImageOps,ImageStat, ImageFilter 
def scaling_thumbline(image1): 
    scale = Image.new("1", image1.size, "white"); 
    image1.show() 
    x = image1.size[0] 
    y = image1.size[1] 
    print (x,y) 
    image2 = image1.resize((x/2,y/2),Image.ANTIALIAS); 
    image2.show() 
    print image2.size 
    for x in range(0,image2.size[0]): 
     for y in range(0,image2.size[1]): 
      scale.putpixel((x,y),image2.getpixel((x,y))); 

    scale.show() 
    print scale.size 



image1 = Image.open("Problems/Basic Problems C/Basic Problem C-02/A.png").convert("1"); 
scaling_thumbline(image1) 

而我得到的, Image,我需要它的規模,但保持位置。請注意,不是在中間,圖像已移到頂端。

任何想法?幫幫我?

+1

爲什麼不直接使用image1.resize?你能展示一個你想要什麼輸出的例子嗎? – Hugo

回答

0

我認爲resize功能是你在找什麼。我測試了下面的代碼了使用python 2.7.10在Mac OSX約塞米蒂並得到正確的結果。

>>> from PIL import Image 
>>> a = Image.open('test.png') 
>>> size = a.size 
>>> newSize = tuple([dimension/10 for dimension in size]) 
>>> b = a.resize(newSize) 
>>> a.show() 
>>> b.show()