Example #1
0
 function createCompositeImage(Request $request, UserEvent $event, $photoFile)
 {
     $photo = new Imagick();
     $photo->readImageBlob($photoFile);
     $image = ImageCompositor::create($request, $event, $photo);
     Storage::put('composites/' . $event->id . '.jpg', $image);
     return redirect('/');
 }
Example #2
0
 static function composite_paragraph($text, $target, $rect, $multiline)
 {
     $draw = new ImagickDraw();
     $draw->setFont('Helvetica.ttf');
     $draw->setFontSize(72);
     if ($multiline) {
         $lines = ImageCompositor::word_wrap($text, 60);
     } else {
         $lines = ImageCompositor::word_wrap($text, 500000);
     }
     $fm = $target->queryFontMetrics($draw, $lines[0], false);
     $line_height = 50;
     while ($fm['textWidth'] > $rect->width) {
         $draw->setFontSize($draw->getFontSize() - 1);
         $fm = $target->queryFontMetrics($draw, $lines[0], false);
     }
     for ($i = 0; $i < count($lines); $i++) {
         $draw->setFillColor('black');
         $target->annotateImage($draw, $rect->x + 1, $rect->y + 1 + $i * $line_height, 0, $lines[$i]);
         $draw->setFillColor('white');
         $target->annotateImage($draw, $rect->x, $rect->y + $i * $line_height, 0, $lines[$i]);
     }
 }