Hi,
Ich brauch die Hilfe von einem guten PHP Coder, da ich ein PHP Script brauch was ich zb mit http://www.tld.com/script.php aufrufen kann, dieses PHP Script soll von einem Spieler den Minecraft Kopf ausschneiden und anzeigen.
Beispiel:
ich geh auf http://www.tld.com/minecrafthead.php?user=DurtyFree und das sollte dann ein .png Bild von meinem Kopf (DurtyFree) wiedergeben. Aber nur der Kopf.
Das währe ziemlich praktisch und ich würde mich sehr freuen wenn einer das machen könnte, ich hab nur ein JavaScript gefunden der ist aber nur Intern nutzbar und per URL aufrufbar, aber falls es euch hilft:
Code
function blitImage(ctx, image, sx ,sy, sw, sh, dx, dy, dw, dh) {
var x; var y;
for (x=0;x<dw;x++) {
for (y=0;y<dh;y++) {
ctx.drawImage(image,Math.floor(sx+x*(sw/dw)),Math.floor(sy+y*(sw/dw)),1,1,dx+x,dy+y,1,1);
}
}
}
function createMinecraftHead(player,completed,failed) {
var skinImage = new Image();
skinImage.onload = function() {
var headCanvas = document.createElement('canvas');
headCanvas.width = 8;
headCanvas.height = 8;
var headContext = headCanvas.getContext('2d');
blitImage(headContext, skinImage, 8,8,8,8, 0,0,8,8);
// Turn off accessory face overlay - causes white faces, and very few skins seem to have them anyway
//blitImage(headContext, skinImage, 40,8,8,8, 0,0,8,8);
completed(headCanvas);
};
skinImage.onerror = function() {
if (skinImage.src == '//www.minecraft.net/img/char.png') {
failed();
} else {
skinImage.src = '//www.minecraft.net/img/char.png';
}
};
skinImage.src = '//s3.amazonaws.com/MinecraftSkins/' + player + '.png';
}
function resizeImage(img,size) {
var canvas = document.createElement('canvas');
canvas.width = size;
canvas.height = size;
var ctx = canvas.getContext('2d');
blitImage(ctx, img, 0,0,img.width,img.height, 0,0,size,size);
return canvas;
}
var playerHeads = {};
function getMinecraftHead(player,size,completed) {
var head = playerHeads[player];
// Synchronous
if (!completed) {
return (!head || head.working) ? null : head;
}
// Asynchronous
if (!head) {
playerHeads[player] = { working: true, hooks: [{f:completed,s:size}] };
//console.log('Creating head for ',player,'...');
createMinecraftHead(player, function(head) {
//console.log('Created head for ',player,': ', head);
hooks = playerHeads[player].hooks;
playerHeads[player] = head;
var i;
for(i=0;i<hooks.length;i++) {
hooks[i].f(resizeImage(head,hooks[i].s));
}
}, function() {
});
} else if (head.working) {
//console.log('Other process working on head of ',player,', will add myself to hooks...');
head.hooks[head.hooks.length] = {f:completed,s:size};
} else {
completed(resizeImage(head,size));
}
}
Alles anzeigen
MFG DurtyFree