Jump to content
php.lv forumi

Recommended Posts

Posted

Tātad gribas izvilkt no viena saita XML datus un pārtaisīt uz bildi.

uz localhost viss iet, bet tur php.ini kaut kas nav kā vajag.

 

<?php
$fonts = "tahoma.ttf";

$xml = simplexml_load_file('http://steamcommunity.com/id/doublet_?xml=1');
$avatar = imagecreatefromjpeg($xml->avatarIcon);

if($xml->onlineState == "online")
{
$result = imagecreatefrompng("background_online.png");
$ot_color = imagecolorexact($result, 107, 161, 207);
imagefttext($result, 8, 0, 52, 29, $ot_color, $fonts, "Online");
}
elseif($xml->onlineState == "in-game")
{
$result = imagecreatefrompng("background_ingame.png");
$ot_color = imagecolorexact($result, 135, 198, 67);
imagefttext($result, 8, 0, 52, 29, $ot_color, $fonts, "In-Game");
imagefttext($result, 8, 0, 52, 41, $ot_color, $fonts, $xml->inGameInfo->gameName);
}
else
{
$result = imagecreatefrompng("background_offline.png");
$ot_color = imagecolorexact($result, 152, 157, 155);
imagefttext($result, 8, 0, 52, 29, $ot_color, $fonts, "Offline");
}

imagecopy($result, $avatar, 9, 9, 0, 0, 32, 32);
imagefttext($result, 8, 0, 52, 17, $ot_color, $fonts, $xml->steamID);

$listnum = 1;
foreach($xml->mostPlayedGames->mostPlayedGame as $mostPlayedGame)
{
if($listnum == 1)
{
	$gameicon = imagecreatefromjpeg($mostPlayedGame->gameIcon);
	imagecopy($result, $gameicon, 169, 9, 0, 0, 32, 32);
}
elseif($listnum == 2)
{
	$gameicon = imagecreatefromjpeg($mostPlayedGame->gameIcon);
	imagecopy($result, $gameicon, 214, 9, 0, 0, 32, 32);
}
else
{
	$gameicon = imagecreatefromjpeg($mostPlayedGame->gameIcon);
	imagecopy($result, $gameicon, 259, 9, 0, 0, 32, 32);
}

imagedestroy($gameicon);
$listnum++;
}

header('Content-Type: image/png');
imagepng($result);

imagedestroy($avatar);
imagedestroy($result);
?>

 

uztaisot var_dump() izmet, ka $xml atgriež booleanu(false)

 

tapēc mazliet atdūros :/

Posted (edited)

tikko @ phpinfo paskatījos un jā

allow_url_fopen Off

 

hmm nezini alternatīvu?

cURL varētu palīdzēt, bet ar cURL nezinu, kā lai šo atrisina :/

 

sucks to be noob.

Edited by eT`
Posted

damn it :D

amm ir kādas alternatīvas, ka viņš paņem bildi no linka un uzliek uz tās bildes virsū?

 

@Kaklz - šis tā vairāk priekš sevis. gribēju pamācīties šo to par bildēm. + tagad zināšu kā watermarkus uzlikt uz bildes ( piem kā draugiem.lv )

Posted

Downloadē bildi tāpat, kā tos datus ar curl, saglabā uz diska ar kaut kādu filename un pēc tam jau lieto lokālo failu. Jebkurā gadījumā ieteiktu tev arī pašu bildi nevis ģenerēt vienmēr dzīvajā, bet uzģenerēt, saglabāt uz diska un reizi stundā pārģenerēt. Ja ir pagājusi mazāk kā stunda, vienkārši rādi to, kas uz diska.

Posted

starp citu Kaklz par tiem watermarkiem: es kkad draugos pamanīju, ka viena jpg bilde ar draugiem logo watermarku bija tik pat labā kvalitātē kā oriģinālā bilde, un faila izmērs tikai mazliet lielāks (tikai tik, cik tas watermarks var iedot klāt), un bildes dimensijas arī tādas pašas. taču tas ir ļoti savādi, jo parasti pārseivojot jpg, lai dabūtu to pašu kvalitāti, faila izmērs neizbēgami palielinās. vai arī līdzīgu izmēru pēc jpg pārseivošanas ar watermarku var dabūt tikai ziedojot kvalitāti. bet kā Jūs tur draugos to dabūjāt gatavu? tb tik kvalitatīvi uzlikt watermarku, gandrīz nemainot faila izmēru!? nez kur man tgd ir tā konkrētā bilde ar/bez draugiem watermark... lol, es pamēģināju to tgd vēlreiz notestēt, bet nu Jums tur vsp vairs neliekās nekāds watermarks!!! bet pirms tam toč tāds gadījums bija! vai varbūt tas bija tikai kkāds izņēmums? ;)

Posted

Hmm idejiski saprotu.

 

<?
function save_image($img,$fullpath){
$ch = curl_init ($img);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
$rawdata=curl_exec($ch);
curl_close ($ch);
$fp = fopen($fullpath,'x');
fwrite($fp, $rawdata);
fclose($fp);
}
?>

 

šo ielieku atsevišķā failā.

tad tajā image.php failā to failu inklūdoju un veicu

 

save_image($xml->avatarIcon,'http://filmam.lv/steamid/avatar/'); ?

vai

save_image($xml->avatarIcon,'avatar/'); ?

 

un tad tur kur attēloju lietoju

 

$avatar = "avatar/".basename($xml->avatarIcon);

$avatar = imagecreatefromjpeg($avatar);

 

 

ā tomēr beigās mana avajadzētu lai viņš to bildi kaut kur saglabā :D

nu lai piemēram var kādā forumā parakstā likt.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...