我有以下功能,并且我已经达到了我需要的尺寸,现在我添加了背景图像,然后在所有叠加文字上添加了透明背景的文字叠加层,但是imagefilledrectangle
应用了预期的变量$white
,我试图查看是否有任何方式告诉该函数是透明的,而不是接受一种颜色,在这个实例中为白色,PHP文档说颜色是imagefilledrectangle
的必需参数,任何建议都非常赞赏。
背景图片是本地图片:
define("BACKGROUND_FILE", "background.png");
功能:
public function generateImage()
{
if (file_exists(BACKGROUND_FILE)) {
$im = @imagecreatefrompng(BACKGROUND_FILE);
if($im) {
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 115, 150, 195);
imagefilledrectangle($im, 0, 0, 399, 29, $white);
$text = 'Test';
$font = 'arial_narrow_7.ttf';
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);
imagepng($im);
imagedestroy($im);
} else {
echo 'Error';
}
}
}
我尝试在imagecolortransparent($im, $white);
之前添加imagefilledrectangle
,但它没有任何区别。
答案 0 :(得分:0)
想出来,函数中不需要public function generateImage()
{
if (file_exists(BACKGROUND_FILE)) {
$im = @imagecreatefrompng(BACKGROUND_FILE);
if($im) {
$black = imagecolorallocate($im, 115, 150, 195);
$text = 'Test';
$font = 'arial_narrow_7.ttf';
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);
imagepng($im);
imagedestroy($im);
} else {
echo 'Error';
}
}
}
行,下面给出了透明的叠加文本元素,因为现在没有填充。
$query = "SELECT * FROM posts p
JOIN comments c ON p.id = c.id_post
WHERE c.username = '$username'"
$result = mysqli_query($link,$query);
while($row = mysqli_fetch_assco($result)){
//Your code
}