如何使用PHP根据输入文字动态调整图片尺寸?

根据文字改变图片尺寸的PHP代码

以下是一个使用PHP实现根据输入的文字动态调整图片尺寸的示例代码。该代码使用GD库来处理图片。

1. 创建HTML表单

首先,我们需要一个HTML表单来接受用户输入的文字和新的图片尺寸。

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>图片尺寸调整</title>
</head>
<body>
    <form action="resize_image.php" method="post">
        <label for="width">宽度:</label>
        <input type="number" name="width" id="width" required>
        <br>
        <label for="height">高度:</label>
        <input type="number" name="height" id="height" required>
        <br>
        <label for="text">输入文字:</label>
        <input type="text" name="text" id="text" required>
        <br>
        <button type="submit">调整图片尺寸</button>
    </form>
</body>
</html>
2. PHP处理脚本(resize_image.php)

这个PHP脚本将处理表单提交的数据,并根据输入的文字调整图片尺寸。

php 复制代码
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // 获取用户输入的数据
    $width = intval($_POST['width']);
    $height = intval($_POST['height']);
    $text = $_POST['text'];

    // 检查输入数据的有效性
    if ($width > 0 && $height > 0 && !empty($text)) {
        // 加载原始图片
        $imagePath = 'path_to_your_image.jpg'; // 替换为你的图片路径
        $image = imagecreatefromjpeg($imagePath);

        if ($image) {
            // 创建新的图像资源
            $newImage = imagecreatetruecolor($width, $height);

            // 调整图片尺寸
            imagecopyresampled($newImage, $image, 0, 0, 0, 0, $width, $height, imagesx($image), imagesy($image));

            // 设置字体和颜色
            $font = __DIR__ . '/path_to_your_font.ttf'; // 替换为你的字体文件路径
            $fontSize = 20;
            $color = imagecolorallocate($newImage, 255, 255, 255); // 白色文字

            // 在图片上添加文字
            imagettftext($newImage, $fontSize, 0, 10, 30, $color, $font, $text);

            // 输出并保存新的图片
            header('Content-Type: image/jpeg');
            imagejpeg($newImage);
            imagedestroy($newImage);
        } else {
            echo '无法加载原始图片';
        }
    } else {
        echo '输入数据无效';
    }
} else {
    echo '无效的请求方法';
}
?>

说明

  1. HTML表单:提供用户输入图片的新宽度、高度和文字。
  2. PHP处理脚本
    • 接收并验证用户输入的数据。
    • 加载原始图片。
    • 创建一个新的图像资源,并调整大小。
    • 使用指定的字体和颜色在图片上添加文字。
    • 输出并保存新的图片。
相关推荐
孙启超9 分钟前
【AI开发之Rust】第 1 课:认识 Rust 与开发环境 —— 装好工具链,跑通第一个程序
开发语言·人工智能·后端·ai·rust·安全架构
君顾114 分钟前
家政派单小程序源码开发实战:从零搭建到上线全流程指南
java·开发语言·家政派单
我是唐青枫1 小时前
C#.NET PInvoke 深入解析:封送、内存布局与原生互操作实战
开发语言·c#·.net
程序猿编码1 小时前
纯C++轻量计算机视觉推理引擎:基于GGML的端侧CV模型部署技术全解析
开发语言·c++·计算机视觉·大模型·transformer
SEO_juper2 小时前
外贸多语言站最隐蔽的流量杀手:hreflang 错了,谷歌把德语页推给美国人(附审计脚本)
开发语言·前端·python·seo·独立站·谷歌优化
sbjdhjd2 小时前
从 assert 动态调用报错到临时文件链路:PHP 5.6 与 7.3 授权靶场中的短 payload 复盘 | (17字符绕过)
安全·网络安全·数据挖掘·开源·云计算·php·字符绕过
sbjdhjd2 小时前
从 7 字符文件名拼接到二维数组取值:PHP 无参函数限制下的受控靶场复盘 | (7字符绕过)
网络·nginx·安全·网络安全·云计算·php·apache
geovindu2 小时前
CSharp: Strategy Pattern
开发语言·后端·c#·.net·.netcore·策略模式·行为模式
Tairitsu_H2 小时前
[C++] C++11新增构造:列表初始化和std::initializer_list
开发语言·c++·c++11·构造
宣宣猪的小花园.2 小时前
【嵌入式】故障与降级:看门狗、保护机制和工程可靠性的底线
开发语言·人工智能·嵌入式硬件·机器学习