PHP GD库无法使用函数合并到图像
这是我要合并到图像的php类 mergepic.phpPHP GD库无法使用函数合并到图像,php,gd,gdlib,Php,Gd,Gdlib,这是我要合并到图像的php类 mergepic.php class mergepic{ public function merge_barchart_drawing($object,$obj) { $src = imagecreatefrompng($obj->barchart()); $dest = imagecreatefrompng($object->drawing()); //$src = imagecreatefro
class mergepic{
public function merge_barchart_drawing($object,$obj)
{
$src = imagecreatefrompng($obj->barchart());
$dest = imagecreatefrompng($object->drawing());
//$src = imagecreatefrompng('http://localhost/graph/barchart.php?barchart='.$_GET['barchart'].'&max='.$_GET['max'].'&digit='.$_GET['digit']);
//$dest = imagecreatefrompng('http://localhost/graph/drawing.php?drawings='.$_GET['drawings'].'&max='.$_GET['max'].'&digit='.$_GET['digit']);
imagealphablending($dest, false);
imagesavealpha($dest, true);
imagecopymerge($dest, $src, 10, 9, 0, 9, 700, 500, 100); //have to play with these numbers for it to work for you, etc.
header('Content-Type: image/png');
imagepng($dest);
imagedestroy($dest);
imagedestroy($src);
}
}
创建_obj,php
<?
include('drawing.php');
include('barchart.php');
include('mergepic_class.php');
$draw = new drawgraph();
$barchart = new barchart_graph();
$merge_draw = new mergepic();
$merge_draw_bar = $merge_draw->merge_barchart_drawing($draw,$barchart);
?>
如果我运行creating_obj.php我只得到一个图像文件,而不是合并两个图像。如果我在imagecreatefrompng()中使用url,而不是类,那么它工作正常
有什么想法吗
function barchart(){
return $canvas;
}
或者(如果要将此图层图像保存到磁盘):
对另一个(drawing)类也要这样做。因为您调用的$obj->barchart()和$object->drawing()两个类的函数在mergepic类中不可用。@SyedQarib在创建_obj.php文件时,我传递了创建两个名为$draw和$barchart的对象。我在merge\u barchart\u drawing($draw,$barchart)中传递了这两个对象,在mergepic.php文件中得到$object和$obj,对吗way@SyedQarib我发现这个问题不知道怎么解决,你能帮我吗。prb是行$src=imagecreatefrompng($obj->barchart());这一行生成一个条形图图像并显示出来,程序在此之后不执行。但是,如果我使用url,就不用函数object了,它工作得很好。你的barchart()函数应该只返回图像的路径。。或图像对象..@SyedQarib头(“内容类型:image/png”);图像PNG(画布);图像销毁(帆布);返回;这就是我的图像文件返回的方式这是正确的
function barchart(){
$path = {path where to save file};
$filename = {filename to save and extension};
imagepng($canvas,$path.$filename);
return $path.$filename;
}