gpt4 book ai didi

php - 签名 png 不显示

转载 作者:行者123 更新时间:2023-11-30 22:25:07 27 4
gpt4 key购买 nike

我正在尝试创建一个签名系统。它应该从论坛数据库中获取数据并将其显示在图像中。我当前的实现只显示这个:

Current result

它应该显示cover.png

<?php

if (file_exists(dirname(__FILE__) . '/SSI.php')) {
require(dirname(__FILE__) . '/SSI.php');
}
else die("GRESKA: SSI.php nije pronaden!");


error_reporting(E_ALL);
$username="root"; // KORSINICKO IME
$password=""; // ŠIFRA
$database="smf"; // BAZA
$host="localhost"; // HOST

mysql_connect("localhost","root","");
mysql_select_db("smf") or die( "GRESKA: Dogodila se greska pri povezivanju na bazu podataka!");

if(isset($_GET['id'])) $korisnikov_id = $_GET['id']; // DOBAVLJA KORISNIKOV ID
else if(isset($_POST['id'])) $korisnikov_id = $_POST['id'];

$korisnikov_id = mysql_real_escape_string($korisnikov_id);

if(isset($_GET['stil'])) $stil = $_GET['stil']; // DOBAVLJA STIL POTPISA
else if(isset($_POST['stil'])) $stil = $_POST['stil'];

$stil = mysql_real_escape_string($stil);

if($stil == 1 ) // STIL I
{

$query = "SELECT * FROM `smf_members` WHERE `id_member` = '$korisnikov_id' LIMIT 1"; // VADI PODATKE IZ KOJE TABELE?

$rezultat = mysql_query($query) or die(mysql_error());

if(mysql_num_rows($rezultat) == "0") die("GRESKA: Taj korisnicki ID ne postoji u bazi."); // ID JE 0 ILI JOS NIJE REGISTROVAN???

$row = mysql_fetch_assoc($rezultat);

$ime = $row['real_name']; // KORISNIKOVO TRENUTNO IME
$postovi = $row['posts']; // POSTOVI
$grupe = $row['id_group']; // GRUPA
$spol = $row['gender']; // SPOL
$email = $row['email_address']; // KORISNIKOV EMAIL
$vreme = $row['total_time_logged_in']; // VREME PROVEDENO NA FORUMU

// KONVERTER VREMENA
function secondsToWords($vreme)
{
$days=(int)($vreme/86400);
$hours = (int)(($vreme-($days*86400))/3600);
$mins = (int)(($vreme-$days*86400-$hours*3600)/60);
return sprintf("%dd %dh %dm", $days, $hours, $mins);
}

if($spol == 1) $spoltext = "Musko";
if($spol == 2) $spoltext = "Zensko";
if($spol == 0) $spoltext = "Nepoznato";

// DOBAVLJAMO STVARI DIREKTNO SA PROFILA

global $context, $settings, $modSettings, $db_prefix, $boardurl;

loadMemberData(array($korisnikov_id), false, 'profile');
loadMemberContext($korisnikov_id);

$context['status'] = $memberContext[$korisnikov_id]['online']['text']; // ONLINE/OFFLINE STATUS
$context['avatar'] = $memberContext[$korisnikov_id]['avatar']['href']; // AVATAR

header("Content-type: image/jpeg,image/gif,image/png"); // PRETVARA STRANICU U SLIKU

$Potpisi = @imagecreatefrompng('cover.png'); // LOKACIJA SLIKE

$BOJA_BELA = imagecolorallocate($Potpisi, 255, 255, 255);

$FONT = "./Fontovi/BebasNeue.otf"; // FONT

$ADMINISTRATOR = 'Administrator'; // RANKOVI
$CLAN = 'Clan';

if($grupe == 1) // GRUPE
{
imagettftext($Potpisi, 21, 0, 115, 50, $BOJA_BELA, $FONT, $ime); // VELIKO IME
imagettftext($Potpisi, 17, 0, 115, 90, $BOJA_BELA, $FONT, $ADMINISTRATOR); // ADMINISTRATOR
}
else
{
imagettftext($Potpisi, 21, 0, 115, 50, $BOJA_BELA, $FONT, $ime); // VELIKO IME
imagettftext($Potpisi, 17, 0, 115, 90, $BOJA_BELA, $FONT, $CLAN); // CLAN
}

imagettftext($Potpisi, 13, 0, 45, 187, $BOJA_BELA, $FONT, $postovi); // POSTOVI
imagettftext($Potpisi, 13, 0, 174, 187, $BOJA_BELA, $FONT, secondsToWords($vreme)); // VREME PROVEDENO ONLINE
imagettftext($Potpisi, 13, 0, 333, 143, $BOJA_BELA, $FONT, $spoltext); // SPOL
imagettftext($Potpisi, 17, 0, 115, 70, $BOJA_BELA, $FONT, $email); // EMAIL
imagettftext($Potpisi, 17, 0, 115, 110, $BOJA_BELA, $FONT, $context['status']); // ONLINE/OFFLINE INDIKATOR

// DOBAVLJAČ AVATARA SA PROFILA KORISNIKA TE KONVERTER SLIKE
if (exif_imagetype($context['avatar']) == IMAGETYPE_GIF)
$traziavatar = imagecreatefromgif($context['avatar']);

if (exif_imagetype($context['avatar']) == IMAGETYPE_PNG)
$traziavatar = imagecreatefrompng($context['avatar']);

if (exif_imagetype($context['avatar']) == IMAGETYPE_JPEG)
$traziavatar = imagecreatefromjpeg($context['avatar']);

list($width, $height) = getimagesize($context['avatar']); // KONVERTOVANJE AVATARA

$context['avatar'] = imagecreatetruecolor(512, 512);
imagecopyresampled($Potpisi, $traziavatar, 16.5, 25, 0, 0, 92, 92, $width, $height); // PRIKAZ AVATARA

imagepng($Potpisi);
imagedestroy($Potpisi);

}
else if($stil == 2) // STIL II
{
// STIL II NASTAVLJATE SAMI
}else { die("GRESKA: Taj stil ne postoji u bazi podataka! Pronadjeni stilovi (1) , (2)"); }

?>

最佳答案

编辑:

好的,所以我检查了你的代码,你的图像被 imagecopyresampled 保存到 $Potpisi,这是你的 cover.png(因此您的基本图像文件将被覆盖)。

将代码的最后部分更改为:

$context['avatar'] = imagecreatetruecolor(512, 512);
imagecopyresampled($context['avatar'], $traziavatar, 16.5, 25, 0, 0, 92, 92, $width, $height); // PRIKAZ AVATARA

imagepng($context['avatar']);
imagedestroy($context['avatar']);

不要忘记将您的内容类型更改为 png:

header("Content-type: image/png");

关于php - 签名 png 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35488906/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com