def hmargin(file_, geometry_string):
    """
    Returns the calculated margin for an image and geometry
    """
    result = margin(file_, geometry_string).split(' ')
    result[0] = result[2] = '0'
    return ' '.join(result)
Beispiel #2
0
 def test_margin(self):
     im = ImageFile(Item.objects.get(image='500x500.jpg').image)
     self.assertEqual(margin(im, '1000x1000'), '250px 250px 250px 250px')
     self.assertEqual(margin(im, '800x1000'), '250px 150px 250px 150px')
     self.assertEqual(margin(im, '500x500'), '0px 0px 0px 0px')
     self.assertEqual(margin(im, '500x501'), '0px 0px 1px 0px')
     self.assertEqual(margin(im, '503x500'), '0px 2px 0px 1px')
     self.assertEqual(margin(im, '300x300'), '-100px -100px -100px -100px')
Beispiel #3
0
 def test_margin(self):
     im = ImageFile(Item.objects.get(image='500x500.jpg').image)
     self.assertEqual(margin(im, '1000x1000'), '250px 250px 250px 250px')
     self.assertEqual(margin(im, '800x1000'), '250px 150px 250px 150px')
     self.assertEqual(margin(im, '500x500'), '0px 0px 0px 0px')
     self.assertEqual(margin(im, '500x501'), '0px 0px 1px 0px')
     self.assertEqual(margin(im, '503x500'), '0px 2px 0px 1px')
     self.assertEqual(margin(im, '300x300'), '-100px -100px -100px -100px')
Beispiel #4
0
 def test_margin(self):
     im = ImageFile(Item.objects.get(image="500x500.jpg").image)
     self.assertEqual(margin(im, "1000x1000"), "250px 250px 250px 250px")
     self.assertEqual(margin(im, "800x1000"), "250px 150px 250px 150px")
     self.assertEqual(margin(im, "500x500"), "0px 0px 0px 0px")
     self.assertEqual(margin(im, "500x501"), "0px 0px 1px 0px")
     self.assertEqual(margin(im, "503x500"), "0px 2px 0px 1px")
     self.assertEqual(margin(im, "300x300"), "-100px -100px -100px -100px")
Beispiel #5
0
def nodeimage(node, size='normal', additional_classes=''):
    if not node:
        return ''
    key = ':'.join(['nodeimage', node._id, unicode(size), additional_classes])

    value = cache.get(key)

    if value:
        return value
    else:
        if size in SIZES:
            html_class = 'node-image-%s' % size
            size = SIZES[size]
        else:
            html_class = 'node-image'

        if additional_classes:
            html_class += ' ' + additional_classes

        attrs = {
            'alt': node.title,
            'class': html_class,
        }

        if node.image:
            geometry = '%dx%d' % (size, size)
            thumbnail = node.image.ref.thumbnail(geometry)
            attrs['src'] = thumbnail.url
            attrs['style'] = 'padding:%s' % margin(thumbnail, geometry)
        else:
            attrs['src'] = node.image_url(size=size)

        if attrs['src']:
            attr_string = u' '.join(u'%s="%s"' % (name, escape(value)) for name, value in attrs.items() if value)
            value = u'<img %s>' % attr_string
        else:
            value = ''

        cache.set(key, value)
        return value
def margin(file_, preset_name):
    preset = Preset.objects.get(name=preset_name)
    return thumbnail.margin(file_, preset.geometry)
Beispiel #7
0
 def icono_(self, obj):
     if obj.icono:
         im = get_thumbnail(obj.icono.file, '30')
         return mark_safe('<img src="{0}" style="margin:{1}">'.format(
             im.url, margin(im, '35x35')))
Beispiel #8
0
def vt_thumb_margin(image, geometry):
    from sorl.thumbnail.templatetags import thumbnail
    return thumbnail.margin(image, geometry)