|
|
|
@ -101,7 +101,7 @@ class OC_Image implements \OCP\IImage { |
|
|
|
|
if (is_resource($this->resource)) { |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
if (is_object($this->resource) && get_class($this->resource) === 'GdImage') { |
|
|
|
|
if (is_object($this->resource) && get_class($this->resource) === \GdImage::class) { |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -308,7 +308,7 @@ class OC_Image implements \OCP\IImage { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param resource Returns the image resource in any. |
|
|
|
|
* @param resource|\GdImage $resource |
|
|
|
|
* @throws \InvalidArgumentException in case the supplied resource does not have the type "gd" |
|
|
|
|
*/ |
|
|
|
|
public function setResource($resource) { |
|
|
|
@ -318,7 +318,7 @@ class OC_Image implements \OCP\IImage { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
// PHP 8 has real objects for GD stuff |
|
|
|
|
if (is_object($resource) && get_class($resource) === 'GdImage') { |
|
|
|
|
if (is_object($resource) && get_class($resource) === \GdImage::class) { |
|
|
|
|
$this->resource = $resource; |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
@ -326,7 +326,7 @@ class OC_Image implements \OCP\IImage { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @return resource Returns the image resource in any. |
|
|
|
|
* @return resource|\GdImage Returns the image resource in any. |
|
|
|
|
*/ |
|
|
|
|
public function resource() { |
|
|
|
|
return $this->resource; |
|
|
|
@ -536,7 +536,7 @@ class OC_Image implements \OCP\IImage { |
|
|
|
|
* It is the responsibility of the caller to position the pointer at the correct place and to close the handle again. |
|
|
|
|
* |
|
|
|
|
* @param resource $handle |
|
|
|
|
* @return resource|false An image resource or false on error |
|
|
|
|
* @return resource|\GdImage|false An image resource or false on error |
|
|
|
|
*/ |
|
|
|
|
public function loadFromFileHandle($handle) { |
|
|
|
|
$contents = stream_get_contents($handle); |
|
|
|
@ -550,7 +550,7 @@ class OC_Image implements \OCP\IImage { |
|
|
|
|
* Loads an image from a local file. |
|
|
|
|
* |
|
|
|
|
* @param bool|string $imagePath The path to a local file. |
|
|
|
|
* @return bool|resource An image resource or false on error |
|
|
|
|
* @return bool|resource|\GdImage An image resource or false on error |
|
|
|
|
*/ |
|
|
|
|
public function loadFromFile($imagePath = false) { |
|
|
|
|
// exif_imagetype throws "read error!" if file is less than 12 byte |
|
|
|
@ -666,17 +666,17 @@ class OC_Image implements \OCP\IImage { |
|
|
|
|
* Loads an image from a string of data. |
|
|
|
|
* |
|
|
|
|
* @param string $str A string of image data as read from a file. |
|
|
|
|
* @return bool|resource An image resource or false on error |
|
|
|
|
* @return bool|resource|\GdImage An image resource or false on error |
|
|
|
|
*/ |
|
|
|
|
public function loadFromData($str) { |
|
|
|
|
if (is_resource($str)) { |
|
|
|
|
if (!is_string($str)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
$this->resource = @imagecreatefromstring($str); |
|
|
|
|
if ($this->fileInfo) { |
|
|
|
|
$this->mimeType = $this->fileInfo->buffer($str); |
|
|
|
|
} |
|
|
|
|
if (is_resource($this->resource)) { |
|
|
|
|
if ($this->valid()) { |
|
|
|
|
imagealphablending($this->resource, false); |
|
|
|
|
imagesavealpha($this->resource, true); |
|
|
|
|
} |
|
|
|
@ -692,7 +692,7 @@ class OC_Image implements \OCP\IImage { |
|
|
|
|
* Loads an image from a base64 encoded string. |
|
|
|
|
* |
|
|
|
|
* @param string $str A string base64 encoded string of image data. |
|
|
|
|
* @return bool|resource An image resource or false on error |
|
|
|
|
* @return bool|resource|\GdImage An image resource or false on error |
|
|
|
|
*/ |
|
|
|
|
public function loadFromBase64($str) { |
|
|
|
|
if (!is_string($str)) { |
|
|
|
@ -722,7 +722,7 @@ class OC_Image implements \OCP\IImage { |
|
|
|
|
* @param string $fileName <p> |
|
|
|
|
* Path to the BMP image. |
|
|
|
|
* </p> |
|
|
|
|
* @return bool|resource an image resource identifier on success, <b>FALSE</b> on errors. |
|
|
|
|
* @return bool|resource|\GdImage an image resource identifier on success, <b>FALSE</b> on errors. |
|
|
|
|
*/ |
|
|
|
|
private function imagecreatefrombmp($fileName) { |
|
|
|
|
if (!($fh = fopen($fileName, 'rb'))) { |
|
|
|
@ -878,12 +878,12 @@ class OC_Image implements \OCP\IImage { |
|
|
|
|
$result = $this->resizeNew($maxSize); |
|
|
|
|
imagedestroy($this->resource); |
|
|
|
|
$this->resource = $result; |
|
|
|
|
return is_resource($result); |
|
|
|
|
return $this->valid(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param $maxSize |
|
|
|
|
* @return resource | bool |
|
|
|
|
* @return resource|bool|\GdImage |
|
|
|
|
*/ |
|
|
|
|
private function resizeNew($maxSize) { |
|
|
|
|
if (!$this->valid()) { |
|
|
|
@ -914,14 +914,14 @@ class OC_Image implements \OCP\IImage { |
|
|
|
|
$result = $this->preciseResizeNew($width, $height); |
|
|
|
|
imagedestroy($this->resource); |
|
|
|
|
$this->resource = $result; |
|
|
|
|
return is_resource($result); |
|
|
|
|
return $this->valid(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param int $width |
|
|
|
|
* @param int $height |
|
|
|
|
* @return resource | bool |
|
|
|
|
* @return resource|bool|\GdImage |
|
|
|
|
*/ |
|
|
|
|
public function preciseResizeNew(int $width, int $height) { |
|
|
|
|
if (!$this->valid()) { |
|
|
|
@ -1023,7 +1023,7 @@ class OC_Image implements \OCP\IImage { |
|
|
|
|
$result = $this->cropNew($x, $y, $w, $h); |
|
|
|
|
imagedestroy($this->resource); |
|
|
|
|
$this->resource = $result; |
|
|
|
|
return is_resource($result); |
|
|
|
|
return $this->valid(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -1181,7 +1181,7 @@ if (!function_exists('imagebmp')) { |
|
|
|
|
* @link http://www.programmierer-forum.de/imagebmp-gute-funktion-gefunden-t143716.htm |
|
|
|
|
* @author mgutt <marc@gutt.it> |
|
|
|
|
* @version 1.00 |
|
|
|
|
* @param resource $im |
|
|
|
|
* @param resource|\GdImage $im |
|
|
|
|
* @param string $fileName [optional] <p>The path to save the file to.</p> |
|
|
|
|
* @param int $bit [optional] <p>Bit depth, (default is 24).</p> |
|
|
|
|
* @param int $compression [optional] |
|
|
|
|