changeset 135:dafb1110bfbe

scaletest
author dwinter
date Fri, 31 May 2013 12:57:12 +0200
parents 9f45ed6ffeab
children 63e1c1c06fb3
files scaleTest.py
diffstat 1 files changed, 89 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scaleTest.py	Fri May 31 12:57:12 2013 +0200
@@ -0,0 +1,89 @@
+from PIL import Image;
+from cStringIO import  StringIO;
+import ImageFilter
+
+import urllib
+import logging
+
+
+url="http://localhost:18080/www/projects/DEPT1_710Schemmel-Space/Gruppe_Schemmel.jpg"
+ul = urllib.urlopen(url)
+datStringIO = StringIO(ul.read());
+
+
+try:
+    pilImg = Image.open(datStringIO)
+   
+   
+except:
+     logging.error("scale image input:"+self.getId())
+     
+    
+w,h = pilImg.size
+logging.debug("oldsize: %s %s"%(w,h))
+targetW=120.
+targetH=75.
+
+
+facW=targetW/w 
+
+h1 = int(h*facW)
+
+if h1<targetH: #bild zu klein in h
+    facH=targetH/h
+    
+    w1=int(w*facH)
+     
+    fs = min(max(int(1/facH)+1,3),10)
+    #fs = 5
+    logging.debug(fs)
+    print facH
+    if (1/facH) > 2:
+            pilImg = pilImg.filter(ImageFilter.BLUR)
+ 
+    try:
+        pilImg = pilImg.filter(ImageFilter.MaxFilter(fs))
+    except:
+        pilImg = pilImg.filter(ImageFilter.MaxFilter(fs-1))
+   
+    logging.debug("Xnew size: %s %s"%(w1,targetH))
+    res = pilImg.resize((w1,int(targetH)),Image.ANTIALIAS);
+    
+    
+else:
+    fs = min(max(int(1/facW)+1,3),10)
+    #fs=5
+    logging.debug(fs)
+    
+    print facW
+    if (1/facW) > 2:
+        pilImg = pilImg.filter(ImageFilter.BLUR)
+        
+    try:
+        pilImg = pilImg.filter(ImageFilter.MaxFilter(fs))
+    except:
+        
+        
+        try:
+            pilImg = pilImg.filter(ImageFilter.MaxFilter(fs-1))
+        except:
+            pass
+    logging.debug("ynew size: %s %s"%(targetW,h1))
+    res = pilImg.resize((int(targetW),h1))
+    
+nw,nh = res.size
+   
+cutW1=int(nw/2-(targetW/2))  
+cutW2=int(nw/2+(targetW/2))   
+
+cutH1=int(nh/2-(targetH/2))   
+cutH2=int(nh/2+(targetH/2))    
+
+
+
+res2 = res.crop((cutW1,cutH1,cutW2,cutH2))
+
+outS =  StringIO()
+
+res2.save("/tmp/test.jpg")
+