def thumb(self): if not self.image: return "" import art_cloud.front.templatetags.imagetags as imagetags import art_cloud.imaging as imaging try: file = settings.MEDIA_URL + self.image.path[len(settings.MEDIA_ROOT):] filename, miniature_filename, miniature_dir, miniature_url = imagetags.determine_resized_image_paths(file, "admin_thumb") if not os.path.exists(miniature_dir): os.makedirs(miniature_dir) if not os.path.exists(miniature_filename): imaging.fit_crop(filename, 100, 100, miniature_filename) return """<img src="%s" /></a>""" % miniature_url except: traceback.print_exc() return None
def squarecrop(file, size_param='100'): """Crop a square image""" size = int(size_param.strip()) filename, miniature_filename, miniature_dir, miniature_url = determine_resized_image_paths(file, "sq" + size_param) if not os.path.exists(miniature_dir): os.makedirs(miniature_dir) if os.path.exists(miniature_filename) and os.path.getmtime(filename) > os.path.getmtime(miniature_filename): os.unlink(miniature_filename) # if the image wasn't already resized, resize it if not os.path.exists(miniature_filename): image = Image.open(filename) image.save(miniature_filename, image.format) fit_crop(miniature_filename, size, size) return miniature_url
def crop(file, size_param="300x255"): """Crop an image (no resizing)""" width_param, height_param = size_param.split('x') width = int(width_param) height = int(height_param) filename, miniature_filename, miniature_dir, miniature_url = determine_resized_image_paths(file, size_param) if not os.path.exists(miniature_dir): os.makedirs(miniature_dir) if os.path.exists(miniature_filename) and os.path.getmtime(filename) > os.path.getmtime(miniature_filename): os.unlink(miniature_filename) if not os.path.exists(miniature_filename): image = Image.open(filename) image.save(miniature_filename, image.format) fit_crop(miniature_filename, width, height) return miniature_url