Esempio n. 1
0
 public function draw(OsuSignature $signature)
 {
     parent::draw($signature);
     if ($this->width != -1 || $this->height != -1) {
         $this->image->resizeImage($this->width == -1 ? $this->image->getImageWidth() : $this->width, $this->height == -1 ? $this->image->getImageHeight() : $this->height, 1, $this->filter);
     }
     $signature->getCanvas()->compositeImage($this->image, $this->composite, $this->x, $this->y);
 }
Esempio n. 2
0
 public function draw(OsuSignature $signature)
 {
     parent::draw($signature);
     $flag = $this->getFlag($signature->getUser());
     if ($flag) {
         $flag->resizeImage($this->getWidth(), $this->getHeight(), Imagick::FILTER_CATROM, 1);
         if (isset($_GET['flagshadow'])) {
             $shadow = $flag->clone();
             $shadow->setImageBackgroundColor(new ImagickPixel('black'));
             $shadow->shadowImage(50, 3, 0, 0);
             $signature->getCanvas()->compositeImage($shadow, \Imagick::COMPOSITE_DEFAULT, $this->x - 6, $this->y - 6);
         }
         if (isset($_GET['flagstroke'])) {
             $flagStroke = new \ImagickDraw();
             $flagStroke->setFillColor("#FFFFFFEE");
             $flagStroke->roundRectangle($this->x - 1, $this->y - 1, $this->x - 1 + ($this->getWidth() + 1), $this->y - 1 + ($this->getHeight() + 1), 1, 1);
             $signature->getCanvas()->drawImage($flagStroke);
         }
         $signature->getCanvas()->compositeImage($flag, Imagick::COMPOSITE_DEFAULT, $this->x, $this->y);
     }
 }
Esempio n. 3
0
 public function draw(OsuSignature $signature)
 {
     parent::draw($signature);
     $avatar = $this->getAvatar($signature->getUser());
     if ($avatar) {
         $fitByWidth = $this->getWidth() / $avatar->getImageWidth() < $this->getHeight() / $avatar->getImageHeight() ? true : false;
         if ($fitByWidth) {
             $avatar->thumbnailImage($this->getWidth(), 0, false);
         } else {
             $avatar->thumbnailImage(0, $this->getHeight(), false);
         }
         $avatarXOffset = ($this->getWidth() - $avatar->getImageWidth()) / 2;
         $avatarYOffset = ($this->getHeight() - $avatar->getImageHeight()) / 2;
         /*$avatar->resizeImage(
         			$this->getWidth(),
         			$this->get Height(),
         			1
         			Imagick::FILTER_CATROM
         		);*/
         $avatarRounding = isset($_GET['avatarrounding']) ? max((int) $_GET['avatarrounding'], 0) : $this->rounding;
         $avatar->setImageAlphaChannel(Imagick::ALPHACHANNEL_SET);
         $roundImage = new Imagick();
         $roundImage->newPseudoImage($this->getWidth(), $this->getHeight(), 'canvas:transparent');
         $roundMask = new ImagickDraw();
         $roundMask->setFillColor(new ImagickPixel('black'));
         $roundMask->roundRectangle(0, 0, $avatar->getImageWidth() - 1, $avatar->getImageHeight() - 1, $avatarRounding, $avatarRounding);
         $roundImage->drawImage($roundMask);
         $roundImage->setImageFormat('png');
         $avatar->compositeImage($roundImage, Imagick::COMPOSITE_DSTIN, 0, 0, Imagick::CHANNEL_ALPHA);
         $signature->getCanvas()->compositeImage($avatar, Imagick::COMPOSITE_DEFAULT, $this->x + $avatarXOffset, $this->y + $avatarYOffset);
     }
 }