ImageMagick (Fatal error: Uncaught Error: Call to undefined method Imagick::getImageSize() )
Jörg
- php
0 Jörg0 Tabellenkalk
1 Jörg
Hallo Forum,
habe versucht, ImageMagick in mein Xammp einzubinden.
Ich dachte eigentlich, dass mir das gelungen sei.
Trotzdem erhalte ich bei einer Klasse, die ich hierzu geschrieben habe und die in meinem alten Xampp sowie online funktionieren, jetzt folgenden Fehler:
Fatal error: Uncaught Error: Call to undefined method Imagick::getImageSize()...
Zum Vergleich:
So sieht mein entsprechender Online-Eintrag in der phpinfo aus:
Warum kennt Imagick die Methode nicht mehr?
Jörg
Warum kennt Imagick die Methode nicht mehr?
Ich befürchte, ich weiß, warum...
The next planned release will be PHP > 7.0 and ImageMagick > 7.0 at least, if not higher.
...
- Deprecated:
* The following functions have been deprecated:
ImagickDraw, matte
Imagick::averageimages
Imagick::colorfloodfillimage
Imagick::filter
Imagick::flattenimages
Imagick::getimageattribute
Imagick::getimagechannelextrema
Imagick::getimageclipmask
Imagick::getimageextrema
Imagick::getimageindex
Imagick::getimagematte
Imagick::getimagemattecolor
Imagick::getimagesize
Imagick::mapimage
Imagick::mattefloodfillimage
Imagick::medianfilterimage
Imagick::mosaicimages
Imagick::orderedposterizeimage
Imagick::paintfloodfillimage
Imagick::paintopaqueimage
Imagick::painttransparentimage
Imagick::radialblurimage
Imagick::recolorimage
Imagick::reducenoiseimage
Imagick::roundcornersimage
Imagick::roundcorners
Imagick::setimageattribute
Imagick::setimagebias
Imagick::setimageclipmask
Imagick::setimageindex
Imagick::setimagemattecolor
Imagick::setimagebiasquantum
Imagick::setimageopacity
Imagick::transformimage
Hallo,
Warum kennt Imagick die Methode nicht mehr?
Warning
This function has been DEPRECATED as of Imagick 3.4.4. Relying on this >function is highly discouraged.
Für mich ist zwar deprecated ≠ undefined, aber nunja…
Gruß
Kalk
Hallo Tabellenkalk,
Für mich ist zwar deprecated ≠ undefined, aber nunja…
Für mich eigentlich auch (bzw. auch nicht), aber was will ich machen.
Hier noch schnell eine Lösung für alle, die den Thread später mal im Archiv finden.
// Welche Imagick Version habe ich?
$v = Imagick::getVersion();
preg_match('/ImageMagick ([0-9]+\.[0-9]+\.[0-9]+)/',$v['versionString'],$v);
$myVers = explode(".",$v[1]);
$myImagickVersion = $myVers[0];
if ($myImagickVersion < 7) {
$this->origSize = $this->imagickObject->getImageSize();
} else {
$this->origSize = $this->imagickObject->getImageLength();
}
Geht sicher noch etwas eleganter, aber hieraus kann sich jeder dann seine eigene Lösung basteln.
Jörg