[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
image resize FILTER - welche gibt es noch - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Surkan
Beiträge: 102
Registriert: 18. Apr 2009, 15:28
Wohnort: Jena

image resize FILTER - welche gibt es noch

25. Aug 2009, 12:06

Hallo
ich suche weitere Filter die ich mit image_resize auf Bilder anwenden kann.
Ich hab in der Suche nur wenig gefunden. Des wegen wollte ich mal fragen was es noch gibt außer die vier die standard sind (blur, brand, sepia, sharpen)

Ich suche zum Beispiel zwei ganz bestimmte Filter:
- schwarz/weiss
- helligkeit/tranzparenz

Ich hab mal irgendwie von einem b/w Filter gehört, konnte ihn aber nicht mehr finden.

Dann suche ich einen Filter, mit dem ich Bilder ausbleichen/heller/tranzparent machen kann. Ich will ein Zufallsbild als Hintergrundbild ausgeben (soweit gibt es keine Probleme) welches aber nur schemenhaft zu sehen seinen soll.
Nach meiner Vorstellung, könnte man das mit dem Helligkeitsbefehl/funktion der gdlib machen.
Hier mal ein Link wo das gezeigt wird: http://macx.de/essays/gdlib/bildfilter.html
So nur weis ich leider nicht wie ich das umsetzen soll - wenn das schon jemand gemacht hat, wäre ich dankbar - ansonsten würde ich es (wenn es nicht zu kompliziert ist) auch selbst versuchen. Nur dann bräuchte ich mal ein par Tipps.
Thx Surkan

zehbaeh
Beiträge: 556
Registriert: 17. Okt 2006, 11:52
Wohnort: Solingen

25. Aug 2009, 14:11

Filter mit den von Dir angesprochenen Funktionen umzusetzen ist nicht allzu schwer.
Beispiel-Filter - Brightness:

Code: Alles auswählen

<?php
/**
 * Ändert die Helligkeit des Bild auf den als
 * Request-Parameter 'rex_filter[brightness]'
 * angegebenen Wert (0=Schwarz, 100=Weiss)
 */
function image_resize_brightness(& $image)
{
    $filter = rex_request('rex_filter', 'array');
    if(isset($filter['brightness']))
    {
        $value = round(5.1 * max(0, min(100, $filter['brightness']))) - 255;
        imagefilter($image, IMG_FILTER_BRIGHTNESS, $value);
    }
}
Zu beachten ist:
1. der Name der Funktion: prefix (image_resize_) + Filtername
2. der Name der Datei: prefix (filter.) + Filtername + suffix (.inc.php)
3. Die aktuelle Implementierung des Image-Resize benötigt immer irgendeine Resize-Angabe
4. Unterschiedliche Werte für die Filter bei ansonsten gleichen Angaben (bild, resize) müssen als rex_filter[filtername] verpackt werden.

Beispiel-Url für den oben angebenen Filter:
index.php?rex_resize=100h__main_teaser.jpg&rex_filter[]=brightness&rex_filter[brightness]=75

PS: Filter ablegen im Ordner "redaxo/addons/image_resize/filters"
Beispiel-Filter als "filter.brightness.inc.php"

Benutzeravatar
Andreas.Eberhard
Beiträge: 653
Registriert: 4. Dez 2006, 17:03
Wohnort: Kirchheim bei München
Kontaktdaten: Website

25. Aug 2009, 20:59

Hey Christian,

mit deiner Genehmigung übernehme ich das für das ImageResize-Addon
in die nächste Version mit auf ;-)

Zur Installation siehe voriges Post von zebaeh
Für Schwarz/Weiss gibt es im SVN bereits einen Filter:

Code: Alles auswählen

<?php
function image_resize_grayscale(&$src_im)
{

   $src_x = ceil(imagesx($src_im));
   $src_y = ceil(imagesy($src_im));
   $dst_x = $src_x;
   $dst_y = $src_y;

   $dst_im = imageCreate($src_x, $src_y);

   for ($c = 0; $c < 256; $c++)
   {
      ImageColorAllocate($dst_im, $c, $c, $c);
   }

   ImageCopyMerge($dst_im, $src_im, 0, 0, 0, 0, $src_x, $src_y, 100);
   $src_im = $dst_im;

}
?>
oder so (ist m. E. noch etwas besser, mehr Kontrast)

Code: Alles auswählen

<?php
function image_resize_grayscaleyiq(&$src_im)
{

   $src_x = ceil(imagesx($src_im));
   $src_y = ceil(imagesy($src_im));
   $dst_x = $src_x;
   $dst_y = $src_y;

   // http://php.about.com/od/gdlibrary/ss/grayscale_gd.htm
   function yiq($r, $g, $b)
   {
      return (($r*0.299)+($g*0.587)+($b*0.114));
   }

   $dst_im = ImageCreateTrueColor($dst_x, $dst_y);

   ImageCopyResampled( $dst_im, $src_im, 0, 0, 0, 0, $dst_x, $dst_y, $src_x, $src_y );

   for ($c=0;$c<256;$c++)
   {
      $palette[$c] = imagecolorallocate($dst_im,$c,$c,$c);
   }

   for ($y=0;$y<$src_y;$y++)
   {
      for ($x=0;$x<$src_x;$x++)
      {
         $rgb = imagecolorat($dst_im,$x,$y);
         $r = ($rgb >> 16) & 0xFF;
         $g = ($rgb >> 8) & 0xFF;
         $b = $rgb & 0xFF;
            $gs = yiq($r,$g,$b);
         imagesetpixel($dst_im, $x, $y, $palette[$gs]);
      }
   }

   $src_im = $dst_im;

}
?>
Beste Grüße
Andreas

Surkan
Beiträge: 102
Registriert: 18. Apr 2009, 15:28
Wohnort: Jena

25. Aug 2009, 21:17

DANK!
Das mit der Helligkeit klappt ohne Probleme...

Hast du evtl. noch einen Hinweis für schwarz/weiss???

EDIT: blub - ich sollte zwischendurch mal F5 drücken bevor ich schreibe...

nochmal THX

Benutzeravatar
nitzer
Beiträge: 229
Registriert: 16. Okt 2006, 22:53
Wohnort: Erkrath
Kontaktdaten: ICQ Website

das ist interessant

15. Sep 2009, 22:20

wie bindet man das denn ein?

das wäre genau die funktion ´, welche ich grad brauche für ein aktuelles projekt.

muß man sich da im addon einen neuen filter zusammenbasteln?

Surkan
Beiträge: 102
Registriert: 18. Apr 2009, 15:28
Wohnort: Jena

15. Sep 2009, 22:41

du musst in dem image_resize Ordner eine neue Datei anlegen und den oben genannten Code reinschrieben. Dann musst du den Filter - ähnlich wie die anderen Filter - beim einbinden der Bilder, ansprechen.

Schau dir nochmal den Post von "zehbaeh" an. Da ist alles ziemlich genau erklärt.

Surkan

Benutzeravatar
nitzer
Beiträge: 229
Registriert: 16. Okt 2006, 22:53
Wohnort: Erkrath
Kontaktdaten: ICQ Website

15. Sep 2009, 23:06

lesen bildet bekanntlich ;-)

ich werd's mir mal reinziehen.

Benutzeravatar
nitzer
Beiträge: 229
Registriert: 16. Okt 2006, 22:53
Wohnort: Erkrath
Kontaktdaten: ICQ Website

Super

17. Sep 2009, 20:31

Jo, das tut's schonmal :-) Klasse. Das bringt mich einen ganzen Schritt weiter.

Allerdings muß man drauf achten auch "grayscale" und nicht "greyscale" zu schreiben ;-)

Danke

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

27. Okt 2009, 17:56

Hi,

der grayscale-Filter scheint ein wenig langsame gegenüber
dem sepia zu sein... bei mir (redaxo 4.1) funzt der grayscale-Filter
erst immer auf den 2. Klick ... (vorher natürlich cache geleert) ...
kann das jemand so bestätigen?

Danke. grz. Chris

Benutzeravatar
nitzer
Beiträge: 229
Registriert: 16. Okt 2006, 22:53
Wohnort: Erkrath
Kontaktdaten: ICQ Website

27. Okt 2009, 22:06

ich hab das auch schon eingesetzt, bei mir läuft es aber ohne probleme.
kein reload nötig. achja, getestet aber unter 4.2

Thomas.Skerbis
Beiträge: 1371
Registriert: 4. Aug 2006, 14:06
Wohnort: Rheinberg
Kontaktdaten: Website Twitter

28. Okt 2009, 00:46

Hier gibt es noch einen Spiegelungsfilter:
http://forum.redaxo.de/ftopic7074.html? ... ng&start=0

simonsinus
Beiträge: 146
Registriert: 21. Mai 2007, 09:18
Kontaktdaten: ICQ Website

Image Resize Runde Ecken und Schatten?

15. Feb 2010, 14:10

Hallo

Könnte man mit Image Rsize Filtern zum Beispiel auch einen Schatten oder runde Ecken einbauen.

Dann bräuchte man nicht unbedingt JQuery um Bilder mit runden Ecken und Schatten ein zusetzen

Zurück zu „Allgemeines [R4]“