获取源代码后无法为图像创建句柄

时间:2012-08-29 15:04:20

标签: php

我正在尝试使用php创建一个小型实验脚本,用于从网络漫画网站获取漫画。我正在玩的网站是Fredo and Pidjin。这是我到目前为止编写的代码:

<?php

        require_once "../shdp/simple_html_dom.php";

        $next = "http://www.pidjin.net/2012/08/28/of-my-own/";
        $html = file_get_html($next);

        $imageList = $html->find('div[class=episode] p img');

        for($iii=0; $iii<count($imageList); $iii++){
            $storage[$iii] = $imageList[$iii]->src;

        }

        $img = file_get_contents($storage[0]);
        $img = imagecreatefromstring($img);

        header("Content-type: image/png");
        $something = imagepng($img);
?>

为了抓取html,我正在使用Simple HTML DOM解析器。

这就是我要做的事情:获取图片的src并将其分配给句柄。随后找到页面上所有漫画面板并使用imagecopy制作一个可以保存到计算机的条带。然而,代码处于初步阶段,我还没有进入imagecopy部分。

问题:当imagepng(...)在浏览器上输出文件时,我无法在图像副本中使用$ src句柄(可以这么说)。< / p>

提前致谢。

1 个答案:

答案 0 :(得分:2)

您是如何尝试处理图像的?

$src = imagecreatefrompng($storage[0]);
$dest = imagecreatetruecolor(80, 40);
imagecopy($dest, $src, 0, 0, 20, 13, 80, 40);

header('Content-Type: image/png'); 
imagepng($dest);

如果您需要显示多个图像,请尝试使用输出缓冲:

ob_start();
header('Content-Type: image/png'); 
imagepng($img1);

header('Content-Type: image/png'); 
imagepng($img2);
ob_end_flush();