def make_response(self, image, size, mode, filename=None, *args, **kwargs): """ :param image: image as bytes :param size: requested maximum width/height size :param mode: one of 'scale', 'fit' or 'crop' :param filename: filename """ try: fmt = get_format(image) except OSError: # not a known image file raise NotFound() self.content_type = "image/png" if fmt == "PNG" else "image/jpeg" ext = "." + str(fmt.lower()) if not filename: filename = "image" if not filename.lower().endswith(ext): filename += ext self.filename = filename if size: image = resize(image, size, size, mode=mode) if mode == CROP: assert get_size(image) == (size, size) else: image = image.read() return make_response(image)
def make_response(self, image, size, mode, *args, **kwargs): """ :param image: image as bytes :param s: requested maximum width/height size """ from abilian.services.image import resize, get_format try: fmt = get_format(image) except IOError: # not a known image file raise NotFound() self.content_type = u'image/png' if fmt == 'PNG' else u'image/jpeg' ext = u'.' + text_type(fmt.lower()) filename = kwargs.get('filename') if not filename: filename = u'image' if not filename.lower().endswith(ext): filename += ext self.filename = filename if size: image = resize(image, size, size, mode=mode) if mode == CROP: assert get_size(image) == (size, size) else: image = image.read() return make_response(image)
def make_response(self, image, size, mode, filename=None, *args, **kwargs): """ :param image: image as bytes :param size: requested maximum width/height size :param mode: one of 'scale', 'fit' or 'crop' :param filename: filename """ try: fmt = get_format(image) except IOError: # not a known image file raise NotFound() self.content_type = "image/png" if fmt == "PNG" else "image/jpeg" ext = "." + str(fmt.lower()) if not filename: filename = "image" if not filename.lower().endswith(ext): filename += ext self.filename = filename if size: image = resize(image, size, size, mode=mode) if mode == CROP: assert get_size(image) == (size, size) else: image = image.read() return make_response(image)
def make_response(self, image, size, mode, *args, **kwargs): """ :param image: image as bytes :param s: requested maximum width/height size """ from abilian.services.image import resize, get_format try: fmt = get_format(image) except IOError: # not a known image file raise NotFound() self.content_type = u'image/png' if fmt == 'PNG' else u'image/jpeg' ext = u'.' + unicode(fmt.lower()) filename = kwargs.get('filename') if not filename: filename = u'image' if not filename.lower().endswith(ext): filename += ext self.filename = filename if size: image = resize(image, size, size, mode=mode) if mode == CROP: assert get_size(image) == (size, size) else: image = image.read() return make_response(image)
def render_view(self, field, **kwargs): data = field.data if not data: return u'' try: get_format(data) except IOError: return u'' width = kwargs.get('width', self.width) height = kwargs.get('heigth', self.height) thumb = self.get_thumb(data, width, height) width, height = image.get_size(thumb) tmpl = u'<img src="{{ url }}" width="{{ width }}" height="{{ height }}" />' return render_template_string(tmpl, url=self.get_b64_thumb_url(thumb), width=width, height=height)