ホームページ  >  記事  >  バックエンド開発  >  phpコードを使ってシールの切り抜きを実現する方法(コード)

phpコードを使ってシールの切り抜きを実現する方法(コード)

不言
不言オリジナル
2018-07-26 11:23:593307ブラウズ

この記事の内容は、phpコードを使ってシールの切り抜き(コード)を実現する方法についてです。非常に詳しい内容です。困っている方は参考にしてください。お役に立てれば幸いです。

白地に赤文字のシールを切り抜くことができます。使用言語はPHP、フレームワークはLaravelです。他のフレームワークはご自身で調整してください。他の色の切り抜きも可能で、内部のrgbパラメータの判定を変更するだけで、最終的な切り抜き効果は白い背景が透明になり、赤いスタンプだけが残り、他のページに配置してスタンプ効果を形成することができます。 。コードは私が書いたものなのでバグがあるかもしれませんが、テストには問題ありませんので、仕事で使用する場合は自分でテストして最適化してください。 (私自身のテストと比較の結果、PS と同様のカットアウト効果を実現できました)

#

function getStamp(){
  $path = storage_path('2018052411173848180.png');
  $image = file_get_contents($path);


  $info = getimagesize($path);
  $im = imagecreatefromstring($image);
  $width = $info[0];
  $height = $info[1];
  for($i=0;$i<$height;$i+=1){
    for($j=0;$j<$width;$j+=1){
      $rgb = ImageColorAt($im, $j, $i);
      $r = ($rgb >> 16) & 0xFF;
      $g = ($rgb >> 8) & 0xFF;
      $b = $rgb & 0xFF;
      echo $r.&#39;.&#39;.$g.&#39;.&#39;.$b.&#39;.=&#39;.$rgb.&#39;<br>x=&#39;.$j.&#39;, y=&#39;.$i.&#39;<br>&#39;;

      if(intval($r)>220 && $g >220 && $b>220){
        $hex = imagecolorallocate($im, 255, 255, 255);
        imagesetpixel($im,$j, $i, $hex);
      }
    }
  }
  $white = imagecolorallocate($im , 255 , 255 , 255);//拾取白色
  imagefill($im , 0 , 0 , $white);//把画布染成白色
  imagecolortransparent($im , $white ) ;//把图片中白色设置为透明色

  imagepng($im , storage_path(&#39;test2.png&#39;));//生成图片

  return false;
}

#関連する推奨事項:

# Alipay アプリの支払いと非同期通知を実装するための PHP コード例

php ソケット プログラミングの一般的に使用される関数と単純な C/S インタラクションの実装

以上がphpコードを使ってシールの切り抜きを実現する方法(コード)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。