//ヘッダーでimg画像であることを宣言
header("Content-Type: image/png");
//新規イメージオブジェクトの生成
$base_img = imagecreatefromjpeg('https://yt3.ggpht.com/-QsbVHJovyOM/AAAAAAAAAAI/AAAAAAAAAAA/0fttNKee47I/s48-c-k-no-mo-rj-c0xffffff/photo.jpg');
$mask_img = imagecreatefrompng('mask.png');
//アルファブレンディングフラグを設定(どうゆうこと?)
imagelayereffect($base_img, IMG_EFFECT_OVERLAY);
//アルファチャンネルを有効にする
imagesavealpha($base_img,true);
//カラー情報を付与
$white = imagecolorallocate($mask_img, 255, 255, 255);
imagecolortransparent($mask_img, $white);
//座標を取得してマスク画像をかぶせる
$src_w = imagesx($mask_img);
$src_h = imagesy($mask_img);
imagecopy($base_img,$mask_img,0,0,0,0,$src_w,$src_h);
//書き出し
imagepng($base_img);
imagedestroy($mask_img);
imagedestroy($base_img);