gd 函数上的奇怪 php 行为
我遇到了一个非常奇怪的 PHP 行为,我不明白为什么它会这样。 我以这种方式使用 imagesetbrush 函数:
class foo
{
function setbrush($image)
{
//$this->_resource contains the main image resource
imagesetbrush($this->_resource, $image);
}
}
...
$res=imagecreatefrompng("image.png");
$class->setbrush($res);
以这种方式它可以工作,但是如果我像这样更改代码:
class foo
{
function setbrush($image)
{
$res=imagecreatefrompng($image);
imagesetbrush($this->_resource, $res);
}
}
...
$class->setbrush("image.png");
它不再工作。你看到一些错误吗?它没有向我显示任何消息,它只是不执行该函数。
i met a very strange PHP behaviour, i don't understand why it behaves like this.
I'm using the imagesetbrush function in this way:
class foo
{
function setbrush($image)
{
//$this->_resource contains the main image resource
imagesetbrush($this->_resource, $image);
}
}
...
$res=imagecreatefrompng("image.png");
$class->setbrush($res);
in this way it works, but if i change the code like this:
class foo
{
function setbrush($image)
{
$res=imagecreatefrompng($image);
imagesetbrush($this->_resource, $res);
}
}
...
$class->setbrush("image.png");
it doesn't work anymore. Do you see some error? It doesn't show me any message it simply doesn't execute the function.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
难道是函数调用后对变量$res的引用就消失了?
您是否尝试过将其声明为类变量,就像 $_resource 变量一样?
Could it be that the reference to the variable $res disappears after the function call?
Have you tried declaring it as a class variable, just like the $_resource variable?
也许在你的 foo 类中的某个地方工作目录发生了变化,所以它可能在打开时找不到 image.png
//$this->_resource 包含主图像资源
Maybe somewhere in your foo class the working directory changes, so it can no longer find the image.png maybe when opening
//$this->_resource contains the main image resource