この記事では、PHP を使用して ico アイコンを生成する方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
#ico アイコンはどの Web サイトでも使用する必要があり、使用方法も非常に簡単です。基本的には次の方法がメインですが、他にもいくつかの方法があります。メソッド。
<link rel="shortcut icon" href="/favicon.ico" />
通常、ico アイコンは Web サイトのルートディレクトリに配置され、使用する場合は相対パスまたは絶対パスで導入できますが、明確な規定はありません。
まず、いくつかの関数を理解しましょう。次のコードで使用する関数は主に画像処理関数です:
strtolower、end、imagecreatefromjpeg、imagecreatefromgif、imagecreatefrompng、getimagesize、imagecreatetruecolor、imagecopyresampled、imagejpeg、imagedestroy
1. strto lower function
strto lower 関数は、すべての文字列を小文字に変換します。サポートされているバージョンは PHP4.0 です。使用方法:
<?php echo strtolower('This is strtolower function'); ?>
2. end 関数
end 関数は、内部配列の最後の要素へのポインタを返し、要素の値を返します。サポートされているバージョンは PHP4.0 です。使用方法:
<?php $info = array('red','yellow','blue','white'); echo end($info); ?>
3. Imagecreatefromjpeg 関数
#imagecreatefromjpeg 関数は、jpg または jpeg 形式をロードし、成功すると画像リソースを返し、失敗すると FALSE を返します。 php.net の手順は次のとおりです: ファイルまたは URL から新しい画像を作成します。バージョンは 4.3 をサポートします。使用方法:<?php $imgPath = './demo.jpg'; $im = @imagecreatefromjpeg($imgPath); ?>
4. Imagecreatefromgif 関数
使用方法と方法は、imagecreatefromjpeg() 関数と似ています。5. imagecreatefrompng 関数
使用方法とメソッドは imagecreatefromjpeg() 関数と似ています。6. getimagesize 関数
getimagesize 関数は、画像サイズを取得し、JPC、JP2、JPX、JB2、XBM、WBMP、SWC、TIFF などの形式をサポートします。成功した場合、画像のサイズとファイル タイプ、および通常の HTML ファイルの IMG タグで使用できる高さ/幅のテキスト文字列。失敗した場合は false と警告が返されます。個人的には、PHP バージョンは 5.0 以降をお勧めします。使用方法:<?php $imgPath = './demo.png'; $info = getimagesize($imgPath); ?>
7. imagecreatetruecolor 関数
imagecreatetruecolor 関数は、新しい True Color イメージを作成し、成功後の画像リソース。失敗した場合は FALSE を返します。使用法:<?php $tmp = imagecreatetruecolor($width, $height); ?>
8. imagecopyresampled 関数
imagecopyresampled 関数は、画像の一部をリサンプリングしてコピーし、サイズを調整して、ある画像の正方形の領域を別の画像にスムーズにコピーします。画像内のピクセル値を補間するため、とりわけ、優れた鮮明さを維持しながら画像のサイズを縮小します。<?php // 参数注释:目标图象连接资源,源图象连接资源,目标 X 坐标点,目标 Y 坐标点,源的 X 坐标点,源的 Y 坐标点,目标宽度,目标高度,源图象的宽度,源图象的高度 imagecopyresampled($tmp, $image, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height); ?>
9. Imagejpeg 関数
imagejpeg 関数は画像をブラウザまたはファイルに出力します。 PHP バージョンは 4.0 をサポート、使用方法:<?php // 参数注释:图像资源,路径,质量(默认值(-1)使用默认的IJG质量值(约75)) imagejpeg($tmp, $directory . $filename, 100); ?>
10. Imagedestroy 関数
imagedestroy 関数は、イメージを破棄し、関連付けられているメモリを解放します。 PHP バージョンは 4.0 に対応しています 使い方:<?php imagedestroy('./demo.png'); ?>
/** * 创建ico图标 * @return string * */ public function icon() { if(request()->isPost()) { //获取图片信息 $postVars = ["image" => trim($_FILES["image"]["name"]), "image_tmp" => $_FILES["image"]["tmp_name"], "image_size" => (int)$_FILES["image"]["size"], "image_dimensions" => (int)$_POST["image_dimensions"]]; //设置图片格式 $validExts = ["jpg", "jpeg", "gif", "png"]; //设置图片文件大小 175kb $max_file_size = 179200; //图片名称和类型 $filenameParts = explode(".", $postVars["image"]); //获取图片格式 $ext = strtolower(end($filenameParts)); //设置图片存储路径 $directory = "./favicon/"; //设置命名格式 $rand = time(); $filename = $rand . $postVars["image_size"]; //判断图片大小 if($postVars["image_size"] <= $max_file_size) { //判断图片格式 if(in_array($ext, $validExts)) { //依据格式使用不同函数 if($ext == "jpg" || $ext == "jpeg") { $image = imagecreatefromjpeg($postVars["image_tmp"]); } else if($ext == "gif") { $image = imagecreatefromgif($postVars["image_tmp"]); } else if($ext == "png") { $image = imagecreatefrompng($postVars["image_tmp"]); } if($image) { list($width, $height) = getimagesize($postVars["image_tmp"]); $newWidth = $postVars["image_dimensions"]; $newHeight = $postVars["image_dimensions"]; $tmp = imagecreatetruecolor($newWidth, $newHeight); //将图像复制到具有新宽度和高度的图像 imagecopyresampled($tmp, $image, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height); //创建100%质量的图像文件 if(is_dir($directory)) { if(is_writable($directory)) { imagejpeg($tmp, $directory . $filename, 100) or die('没有创建文件的权限'); if(file_exists($directory . $filename)) { //重命名 $newFilename = md5(time()); rename($directory . $filename, $directory . $newFilename . ".ico"); return '"http://'.$_SERVER['SERVER_NAME'] . substr($directory, 1).$newFilename.".ico"; } else { echo "指定的文件不可写"; } } else { return '目录:' . $directory . '"无写入权限'; } } else { return '目录: "' . $directory . '"不存在'; } imagedestroy($image); imagedestroy($tmp); } else { return "无法创建图像文件"; } } else { return "图标过大,不能超过175KB"; } } else { return "图片格式只能是后面几种 (jpg, jpeg, gif, png)."; } } else { return view('Index/icon'); } }
PHP ビデオ チュートリアル >>
以上がPHP を使用して ICO アイコンを生成する方法についての簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。