2017-11-18 12 views
0

4px pngを使用して600px pngオーバーレイパターンを作成したいとします。これはx軸を繰り返すだけです。私は上記のコードをY-repatことができますどのようにrepeat-x repeat-yメソッドを使用してオーバーレイパターンpngファイルを作成します。

$curr_x = 0; 
while($curr_x < $out_w){ 
    imagecopy($out, $src, $curr_x, 0, 0, 0, $src_w, $src_h); 
    $curr_x += $src_w; 
} 

を次のようにX-繰り返し作業

$srcfile = '4px.png'; 
$outfile = 'overlay.png'; 
list($src_w,$src_h,$src_type) = getimagesize($srcfile); 

$out_w = 600; 
$out_h = 600; 

$src = imagecreatefrompng($srcfile); 
$out = imagecreatetruecolor($out_w, $out_h); 

$curr_x = 0; 
while($curr_x < $out_w){ 
    $curr_y = 0; 
    while($curr_y < $out_h){ 
     imagecopy($out, $src, $curr_y, 0, 0, 0, $src_w, $src_h); 
     $curr_y += $src_h; 
     } 
    $curr_x += $src_w; 
} 

imagepng($out, $outfile, 100); 
imagedestroy($src); 
imagedestroy($out); 

答えて

0
私は思う

、次の2つのループを使用する必要があります - xとyで別々に

$curr_x = 0; 
while($curr_x < $out_w) { 
    $curr_y = 0; 
    while($curr_y < $out_h){ 
     imagecopy($out, $src, $curr_x, $curr_y, 0, 0, $src_w, $src_h); 
     $curr_y += $src_h; 
     } 
    $curr_x += $src_w; 
    } 
+0

コメントセクションがコードをサポートしていないので、ありがとう、私はあなたのソリューションで私の質問を編集しました。私はy軸を繰り返すことに固執しています。 – troshan

+0

私はPHP 5.6で私の答えのコードを実行しました。成功したpngを生成します。これは完全なコードです - https://eval.in/903133 – splash58

+0

黒い背景がむしろ透明になるのはなぜですか? – troshan

関連する問題