【发布时间】:2012-08-12 00:43:30
【问题描述】:
我要做的是从 csv 文件中加载一些值,并将它们用作 x、y 值来绘制一些矩形。
我正在加载文件,但不是显示图像,而是输出原始图像数据。我知道在 html 代码中我可以使用
<img scr="foo.php"></script>
正确显示图像,但我不知道如何使用它根据 csv 文件中的每一行数据绘制多个矩形。请帮忙。
csv 代码
20,40,60,80
50,100,150,175
索引 php 代码
<html>
<body>
<?php
include("parse.php");
?>
</body>
</html>
解析php代码
<?php
include("draw.php");
$file = fopen("data.csv", "r");
while (!feof($file)) {
$line = fgetcsv($file);
drawGraph($line[0], $line[1], $line[2], $line[3]);
}
fclose($file);
?>
绘制php代码
<?php
function drawGraph($xPos, $yPos, $xxPos, $yyPos) {
//create a 200 x 200 canvas image
$canvas = imagecreatetruecolor(200, 200);
//set canvas background to white
$white = imagecolorallocate($canvas, 255, 255, 255);
imagefill($canvas, 0, 0, $white);
//create colors
$pink = imagecolorallocate($canvas, 255, 105, 180);
//draw rectangles
imagerectangle($canvas, $xPos, $yPos, $xxPos, $yyPos, $pink);
//ERROR - following line displays raw data of image not the actural image
imagepng($canvas);
imagedestroy($canvas);
}
?>
【问题讨论】:
-
我其实没有完全理解你,但也许这会有所帮助:记得在推送原始数据之前做 header('Content-Type: image/png')。
-
你能发布生成的 HTML 吗?
-
这是一些没有标题的 html 输出 ‰PNG IHDRÈÈ":9É=IDATxœíÜÁ Ã0A;¤»t',Ò‰ëSÈÃA^fæ/t ýnclpµÇê¸'a' a' a' a 'a'a'a'a'a'a'a'a'a'a'a'a'a'a'‰çÔé÷qÑÿû¼–]Í sam‹xaМã+$!,Â"!, "!,"!,"!,"!,"!,"!,"!,"!,"!,"!,"!,"!,"! ,Â"!,Â"!,Â"!,Â"!,Óë¸mÆæ—}Œ±znÈWHBX$„EBX$„EBX$„EBX$„EBX$„EBX$„EBX$„EBX$„EBX$ „EBX$„EBX$„EBX$„EBX$„EBX$„EBX$„EBX$„EBX$„EBX$„EBX$„EBX$„EBX$„EBX$„EBX
-
使用标题添加原始数据显示“损坏的图像”链接,所以有些地方不太正确。