Wiedmann wrote:erwartet zwar laut Handbuch 5 Parameter
Welches Handbuch?
PHP Handbuch?
Grundsätzlich gibt es 2 Parameter:
1) Imageressource
2) Filtertype
Und dann muss man halt schauen, welche und wieviel Argumente der gewählte Filtertype erwartet (Parameter 3-5).
(Sieht man ja auch schön an den 3 Beispielen im Handbuch)
Die Funktion wird angegeben als:
bool imagefilter ( resource src_im, int filtertype [, int arg1 [, int arg2 [, int arg3]]] )
, was bedeutet dass die letzten 3 'optional' sind. Wobei optional in diesem Fall natürlich bedeutet, dass man die vom Filter benötigten Werte schon ausfüllen muss, zumindest wenn man ein sinnvolles Ergebnis haben möchte. Prinzipiell aktzeptiert diese Funktion aber 5 Parameter.
Normalerweise ist es in so einem Fall dann auch wurscht, ob ich beim Aufruf alle 5 angebe (evtl. mit 0 oder null gefüllt) oder nur die die ich wirklich brauche, was ja mit einigen Filtern auch funktioniert.
Allerdings wollen einige Filter auf jeden Fall die 'richtige' Anzahl Parameter haben, was das Wrappen in Objekten erschwert, darauf wollte ich hinweisen. Folgendes funktioniert also nicht, ohne dass man Probleme bekommt:
class Image {
...
public function applyFilter ($filter, $p1=0, $p2=0, $p3=0) {
imagefilter($this->data, $filter, $p1, $p2, $p3);
}
...
}