完成形
画像の左右を斜めに切り取っています。
やりたいこととしては、上記の画像の赤枠で囲っている、2つの画像を合わせてその合わさっている場所を切り抜きたい。
元画像とマスク用画像の用意
マスク用の画像(同じサイズで左右の斜めを透過してあります。)
実装
//元画像をURLから呼び出し
$thumbnail = file_get_contents("http://ddragon.leagueoflegends.com/cdn/img/champion/loading/Zoe_0.jpg");
$image = new Imagick();
$image->readImageBlob($thumbnail);
//アルファチャネルの設定で、黒い部分を透明にする。
$image->setImageAlphaChannel(Imagick::ALPHACHANNEL_RESET);
//マスク用の画像を取得
$mask = new Imagick(storage_path("mask.png"));
//元画像を重ね合わせてマスクする
//COMPOSITE_DSTOUTにすると、重なっている部分が切り抜かれる
$image->compositeImage($mask, Imagick::COMPOSITE_DSTIN, 0, 0);
//保存
$image->writeImage(storage_path("test.png"));
以上で簡単な実装です。
さらにこれに画像を重ね合わせたり、文字を入れたりするとOGP的な画像の動的生成などができるかと思います。