下面代码的pic是生成一个图片,但我是直接打开这个链接是乱码?这是为什么?
<?php
namespace app\api\controller;
use app\api\logic\TurntableGoodsLogic;
use app\api\validate\TurntableGoodsValidate;
use app\common\basics\Api;
use app\common\server\JsonServer;
class TurntableGoods extends Api
{
public $like_not_need_login = ['pic'];
public function pic(){
header("Content-Type: image/png");
// 创建一个空白图像
$width = 400;
$height = 400;
$image = imagecreatetruecolor($width, $height);
// 设置颜色
$bgColor = imagecolorallocate($image, 255, 255, 255); // 背景颜色
$circleColor = imagecolorallocate($image, 200, 200, 200); // 圆的颜色
$textColor = imagecolorallocate($image, 0, 0, 0); // 文字颜色
// 绘制背景
imagefilledrectangle($image, 0, 0, $width, $height, $bgColor);
// 圆的中心和半径
$centerX = $width / 2;
$centerY = $height / 2;
$radius = 150;
// 绘制圆
imagefilledellipse($image, $centerX, $centerY, $radius * 2, $radius * 2, $circleColor);
// 每个扇形的图片和名称
$items = [
["url" => "https://www.tufubao.cn/uploads/images/20250501223704175068262.png", "name" => "Item 1"],
["url" => "https://www.tufubao.cn/uploads/images/20250501223704175068262.png", "name" => "Item 2"],
["url" => "https://www.tufubao.cn/uploads/images/20250501223704175068262.png", "name" => "Item 3"],
["url" => "https://www.tufubao.cn/uploads/images/20250501223704175068262.png", "name" => "Item 4"],
["url" => "https://www.tufubao.cn/uploads/images/20250501223704175068262.png", "name" => "Item 5"],
["url" => "https://www.tufubao.cn/uploads/images/20250501223704175068262.png", "name" => "Item 6"],
];
// 加载字体
$font ="/tmp/consola.ttf"; // 确保字体文件路径正确
// 绘制扇形和图片
foreach ($items as $index => $item) {
// 计算角度
$startAngle = $index * 60;
$endAngle = ($index + 1) * 60;
// 绘制扇形
imagefilledarc($image, $centerX, $centerY, $radius * 2, $radius * 2, $startAngle, $endAngle, $bgColor, IMG_ARC_PIE);
// 加载图片
$itemImage = imagecreatefrompng($item["url"]);
$itemWidth = imagesx($itemImage);
$itemHeight = imagesy($itemImage);
// 计算图片位置
$angle = deg2rad(($startAngle + $endAngle) / 2);
$x = $centerX + cos($angle) * ($radius / 2) - $itemWidth / 2;
$y = $centerY + sin($angle) * ($radius / 2) - $itemHeight / 2;
// 将图片绘制到扇形内
imagecopy($image, $itemImage, $x, $y, 0, 0, $itemWidth, $itemHeight);
// 添加文字
$textX = $centerX + cos($angle) * ($radius / 2);
$textY = $centerY + sin($angle) * ($radius / 2) + $itemHeight / 2;
imagettftext($image, 12, 0, $textX, $textY, $textColor, $font, $item["name"]);
// 释放图片资源
imagedestroy($itemImage);
}
// 输出图像
imagepng($image);
// 释放图像资源
imagedestroy($image);
}
}
// 创建一个图像
$image = imagecreatetruecolor(120, 20);
$white = imagecolorallocate($image, 255, 255, 255);
imagefilledrectangle($image, 0, 0, 119, 19, $white);
// 保存图像到文件
$filename = "test.png";
$file = fopen($filename, "wb"); // 使用"wb"模式
if ($file) {
imagepng($image, $file); // 将图像内容写入文件
fclose($file);
}
imagedestroy($image);
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
exit; // 确保脚本执行完毕后停止运行
通过以上步骤,你应该能够解决PHP生成图片时出现的乱码问题。如果问题仍然存在,可能需要进一步检查你的PHP环境设置或咨询具体的错误信息。
本文向大家介绍PHP 图片处理,包括了PHP 图片处理的使用技巧和注意事项,需要的朋友参考一下 图片处理函数功能:缩放、剪切、相框、水印、锐化、旋转、翻转、透明度、反色处理并保存历史记录的思路:当有图片有改动时自动生成一张新图片 1、转Base64编码 2、图片旋转 3、图片压缩 4、生成目标图片 以上就是PHP对图片的处理的详细内容,更多关于PHP 图片处理的资料请关注呐喊教程其它相关文章!
本文向大家介绍php生成图片验证码,包括了php生成图片验证码的使用技巧和注意事项,需要的朋友参考一下 先给看下 大致的效果 那么接下来的就直接贴代码吧 再给大家分享一个可以生成中文验证码 再来一个实例吧 接下来只要在页面中调用就可以了: 如果想实现 "看不清?换一张" 效果,添加如下 JS 到页面中 以上所述就是本文的全部内容了,希望大家能够喜欢。
本文向大家介绍PHP图片处理之图片旋转和图片翻转实例,包括了PHP图片处理之图片旋转和图片翻转实例的使用技巧和注意事项,需要的朋友参考一下 图片的旋转和翻转也是Web项目中比较常见的功能,但这是两个不同的概念,图片的旋转是按特定的角度来转动图片,而图片的翻转则是将图片的内容按特定的方向对调。图片翻转需要自己编写函数来实现,而旋转图片则可以直接借助GD库中提供的imagerotate()函数完成。该
本文向大家介绍PHP图片处理之图片背景、画布操作,包括了PHP图片处理之图片背景、画布操作的使用技巧和注意事项,需要的朋友参考一下 像验证码或根据动态数据生成统计图标,以及前面介绍的一些GD库操作等都属于动态绘制图像。而在web开发中,也会经常去处理服务器中已存在的图片。例如,根据一些需求对图片进行缩放、加水印、裁剪、翻转和旋转等改图的操作。在web应用中,经常使用的图片格式有GIF、JPEG和P
本文向大家介绍php生成图片缩略图的方法,包括了php生成图片缩略图的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php生成图片缩略图的方法。分享给大家供大家参考。具体如下: 这里需要用到GD2 library 希望本文所述对大家的php程序设计有所帮助。
本文向大家介绍php生成图片缩略图功能示例,包括了php生成图片缩略图功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php生成图片缩略图功能。分享给大家供大家参考,具体如下: 完整代码如下(为方便阅读,代码使用http://tools.jb51.net/code/phpformat进行了格式化处理): PS:这里再为大家推荐几款比较实用的图片处理工具供大家参考使用: 在线图片转换
本文向大家介绍php生成圆角图片的方法,包括了php生成圆角图片的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php生成圆角图片的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的php程序设计有所帮助。
本文向大家介绍android图片处理 让图片变成圆形,包括了android图片处理 让图片变成圆形的使用技巧和注意事项,需要的朋友参考一下 这几天做项目,有些地方的图片需要用到圆形图片,所以百度了一下,在github上找到一个开源项目,处理很简单,效果如下: 使用起来特别简单,一共三步,具体如下: 1、创建一个Java类CircleImageView把下面的代码复制过去,报错的导包 2、在valu