/** * {@inheritdoc} */ public function insertImage($publicKey, $imageIdentifier, Image $image) { $now = time(); if ($added = $image->getAddedDate()) { $added = $added->getTimestamp(); } if ($updated = $image->getUpdatedDate()) { $updated = $updated->getTimestamp(); } if ($id = $this->getImageId($publicKey, $imageIdentifier)) { return (bool) $this->getConnection()->update($this->tableNames['imageinfo'], array('updated' => $now), array('id' => $id)); } return (bool) $this->getConnection()->insert($this->tableNames['imageinfo'], array('size' => $image->getFilesize(), 'publicKey' => $publicKey, 'imageIdentifier' => $imageIdentifier, 'extension' => $image->getExtension(), 'mime' => $image->getMimeType(), 'added' => $added ?: $now, 'updated' => $updated ?: $now, 'width' => $image->getWidth(), 'height' => $image->getHeight(), 'checksum' => $image->getChecksum(), 'originalChecksum' => $image->getOriginalChecksum())); }
/** * {@inheritdoc} */ public function insertImage($publicKey, $imageIdentifier, Image $image) { $now = time(); if ($added = $image->getAddedDate()) { $added = $added->getTimestamp(); } if ($updated = $image->getUpdatedDate()) { $updated = $updated->getTimestamp(); } if ($this->imageExists($publicKey, $imageIdentifier)) { try { $this->getImageCollection()->update(['publicKey' => $publicKey, 'imageIdentifier' => $imageIdentifier], ['$set' => ['updated' => $now]], ['multiple' => false]); return true; } catch (MongoException $e) { throw new DatabaseException('Unable to save image data', 500, $e); } } $data = ['size' => $image->getFilesize(), 'publicKey' => $publicKey, 'imageIdentifier' => $imageIdentifier, 'extension' => $image->getExtension(), 'mime' => $image->getMimeType(), 'metadata' => [], 'added' => $added ?: $now, 'updated' => $updated ?: $now, 'width' => $image->getWidth(), 'height' => $image->getHeight(), 'checksum' => $image->getChecksum(), 'originalChecksum' => $image->getOriginalChecksum()]; try { $this->getImageCollection()->insert($data); } catch (MongoException $e) { throw new DatabaseException('Unable to save image data', 500, $e); } return true; }
/** * @covers Imbo\Model\Image::setHeight * @covers Imbo\Model\Image::getHeight */ public function testCanSetAndGetHeight() { $height = 234; $this->assertSame($this->image, $this->image->setHeight($height)); $this->assertSame($height, $this->image->getHeight()); }
/** * Draw border inside (on top of) the existing image * * @param string $color * @param integer $borderWidth * @param integer $borderHeight * @param Image $image */ private function drawBorderInside($color, $borderWidth, $borderHeight, Image $image) { $imageWidth = $image->getWidth(); $imageHeight = $image->getHeight(); $rect = new ImagickDraw(); $rect->setStrokeColor($color); $rect->setFillColor($color); $rect->setStrokeAntialias(false); // Left $rect->rectangle(0, 0, $borderWidth - 1, $imageHeight); // Right $rect->rectangle($imageWidth - $borderWidth, 0, $imageWidth, $imageHeight); // Top $rect->rectangle(0, 0, $imageWidth, $borderHeight - 1); // Bottom $rect->rectangle(0, $imageHeight - $borderHeight, $imageWidth, $imageHeight); // Draw the border $this->imagick->drawImage($rect); }