感谢您抽出宝贵时间。像这里的许多其他人一样,我是PHP的新手。在这个脚本的第一部分(注意//有效)我已经将文件中的一些名称加载到一个显示我想要的图像的URL中。这样可行。现在我需要帮助调整大小并自动裁剪所有这些图片。请看一下这个脚本,看看你是否看到了我应该做的不同的事情。
<?php
$file = 'serverlist.txt'; // works
$servers = ''; // works
$imgheight = 200; // ??
$imgwidth = 200; // ??
if ($handle = fopen($file, 'r')) { // works
while (!feof($handle)) { // works
$content = trim(fgets($handle)); // works
$names = explode(' ', $content); // works
foreach ($names as $name) { // works
$servers .= '<img src="http://minecraft.net/skin/' . $name. '.png" alt="">'; //works.
}
foreach ($servers as $imgservers) { // ?
$skin = imagecreatefrompng($imgservers); // ?
$face = imagecreatetruecolor($width, $height); // ?
imagecopyresized($face, $skin, 0, 0, 8, 8, $width, $height, 8, 8); // ?
imagecopyresized($face, $skin, 0, 0, 40, 8, $width, $height, 8, 8); // ?
}
}
fclose($handle); // works
}
?>
<html>
<head>
</head>
<body>
<?php
imagepng($face); // ?
?>
</body>
</html>
答案 0 :(得分:1)
$servers
是附加在一起的所有图像的长字符串。在输出之前,您需要将每个图像分开并单独处理。
修改强> 阅读文件时,您可以保存所有修改过的图像。然后在你的身体中输出所有图像:
$file = 'serverlist.txt';
$images = array();
...
foreach ($names as $name) {
$url = 'http://minecraft.net/skin/' . $name. '.png';
$skin = imagecreatefrompng($url);
...
imagecopyresized($face, $skin, 0, 0, 40, 8, $width, $height, 8, 8);
$images[] = $face;
}
...
</head>
<body>
<?php
foreach ($images as $image) {
imagepng($image);
}
?>
</body>
答案 1 :(得分:0)
你应该有你的路径png不是Html标签。所以你必须改变$ servers