Zum Inhalt springen

Wasserzeichen - Schlechte Bildqualität?

Erstellt am 12. November 2009 · 1 Antwort · letzte Antwort am 12. November 2009

Tags: Bilder, Frage

fuzz ·

Hallo über folgenden TypoScript Code mache ich Wasserzeichen bzw. in dem Fall abgerundete Ecken in die Bilder. Das funktioniert auch soweit, auch in der Perfectlightbox.

Mein Problem ist jetzt aber, dass die Bildqualität sehr schlecht wird. Vorallem ist das bei PNGs zu erkennen. Den Wert "quality" auf 100 zu setzen hilft auch nichts.

Wie kann ich das ändern?

Danke schonmal...

tt_content.image.20.1.file >
tt_content.image.20.1.file {
    import.current = 1
    width.field    = imagewidth

    m.mask = GIFBUILDER
    m.mask {
        # Here we create a dynamic mask with the exact same
        # dimensions as the actual image, but with rounded corners
        XY     = [10.w],[10.h]
        format = jpg

        # Since the "XY" parameter doesn't have stdWrap, we "find"
        # the size by simply loading the original image again.
        10 = IMAGE
        10.file {
            import.current           = 1
            width.field              = imagewidth
            maxW                     = {$styles.content.imgtext.maxW}
            maxW.override.data       = register:maxImageWidth
            maxWInText               = {$styles.content.imgtext.maxWInText}
            maxWInText.override.data = register:maxImageWidthInText
        }

        # Create a white box that fills the entire area
        20            = BOX
        20.dimensions = 0,0,[10.w],[10.h]
        20.color      = #FFFFFF

        # Add Top-Left corner mask
        30       = IMAGE
        30.file  = {$imagePath}cornermask_tl.gif
        30.align = l,t

        # Add Top-Right corner mask
        40       = IMAGE
        40.file  = {$imagePath}cornermask_tr.gif
        40.align = r,t

        # Add Bottom-Left corner mask
        50       = IMAGE
        50.file  = {$imagePath}cornermask_bl.gif
        50.align = l,b

        # Add Bottom-Left corner mask
        60       = IMAGE
        60.file  = {$imagePath}cornermask_br.gif
        60.align = r,b
    }

    # The fastest method (recommended) is using a static image, like this:
    #m.bgImg = {$imagePath}clear.gif

    # But it can also be done dynamically, like this:
    m.bgImg = GIFBUILDER
    m.bgImg {
        # Here we create a dynamic bgMask
        # Dimensions of this image is unimportant
        XY     = [10.w],[10.h]
        format = jpg
        
        10            = BOX
        10.dimensions = 0,0,10,10
        10.color      = {$bgColor}
    }
}

# Abgerundete Ecken auch für Lightbox aktivieren
tt_content.image.20.1.imageLinkWrap.typolink.parameter.override.cObject = IMG_RESOURCE
tt_content.image.20.1.imageLinkWrap.typolink.parameter.override.cObject.file < tt_content.image.20.1.file
meckpo ·

Hallo,

das ist hauptsächlich ein Problem im Core beim Maskieren ....

$TYPO3_CONF_VARS['GFX']['im_mask_temp_ext_gif']=0 muss man setzen damit beim Maskieren von JPGs (intern) keine GIFs verwendet werden. Die Einstellung wird aber ignoriert und in tslib_content ab Zeile 4696 dann doch wieder GIF intern verwendet.

Weiterhin wird beim „combine“ (also dem Maskieren der Bilder) die Standard-Qualitätsstufe für JPGs verwendet (und nicht die in localconf eingestellte!). Der Parameter wird einfach nicht gesetzt …
t3lib_stdgraphic Zeile 2549 statt “-compose over +matte” muss man so was verwenden: “-compose over -quality 100 +matte”

Na dann viel erfolg damit!