Php 根据浏览器的不同,生成的图像的可变字体大小不正确

Php 根据浏览器的不同,生成的图像的可变字体大小不正确,php,gd,font-size,Php,Gd,Font Size,我有一个简单的PHP脚本,它采用一个简单的脚本,在上面添加一些文本,并将其发送到浏览器 问题是,文本在不同的浏览器上看起来大小不同。我一辈子都不明白为什么。不是所有的东西都是在服务器端组装的,因此看起来总是一样的吗 以下是完整的脚本: <?php $ext = $source_type = end(explode('.', $_REQUEST['base_image'])); if( $source_type == 'jpg' ) $source_type = 'jpeg'; $read

我有一个简单的PHP脚本,它采用一个简单的脚本,在上面添加一些文本,并将其发送到浏览器

问题是,文本在不同的浏览器上看起来大小不同。我一辈子都不明白为什么。不是所有的东西都是在服务器端组装的,因此看起来总是一样的吗

以下是完整的脚本:

<?php

$ext = $source_type = end(explode('.', $_REQUEST['base_image']));
if( $source_type == 'jpg' ) $source_type = 'jpeg';
$read = "imagecreatefrom$source_type";
$output = "image$source_type";
list($x, $y) = explode('x', $_REQUEST['position']);
list($r, $g, $b) = explode(',', $_REQUEST['color']);

$size = $_REQUEST['size'];
$text = $_REQUEST['text'];
$font = realpath($_REQUEST['font']);
$image = $read($_REQUEST['base_image']);
list($llx, $lly, $lrx, $lry, $urx, $ury, $ulx, $uly) = imageftbbox($size, 0, $font, $text);
$offset = ($lrx - $llx) / 2;
$color = imagecolorallocate($image, $r, $g, $b);
imagefttext($image, $size, 0, $x-$offset, $y, $color, $font, $text);
header("Content-Type: image/$source_type");
header("Content-Disposition: attachment; filename=\"wolfpackbadge.$ext\"");
$output($image);
我家里有一台电脑,可以用显微镜将文字显示得很小。我还收到过其他人的超大文本报告。下面是图像外观的示例:

以下是在我家的一台电脑上显示的屏幕截图:

以下是向我报告的其他用户的屏幕截图:

更多信息:

在IE中查看我家的电脑时,它看起来还不错。只有在Windows Chrome上,它看起来才怪。但我家的另一台Windows电脑通常用Chrome显示。 我从其他人那里得到的报告也表明,有问题的浏览器包括Chrome、Android和iOS。 我的问题是:

如果图像是在服务器端生成的,那么根据浏览器的不同,字体会有什么不同? 我可以对脚本进行哪些更改以消除此问题? 我试过几件事

我已经尝试将字体从otf转换为ttf,以确保字体类型没有问题。 我曾尝试将源图像和输出图像更改为jpeg以外的格式