PHP har inte vad jag vet ett (enkelt) sätt att ändra bilder utan något plugin, däremot är GD i princip alltid installerat på webhosts och för de som har egna servrar är det enkelt att installera. Men att det är ett h-vete att använda GD kan jag hålla med om, men det är inte så mycket att göra åt. Bara att läsa manualen tills ögonen blöder.
Tror det är ungefär såhär i sparar avatarer på W3Sidan:
<?php
// Hämta originalbilden som laddats upp på något vis
$src = imagecreatefromjpeg("originalbild.jpg");
// Skapa en tom bild på 150x150
$tmp=imagecreatetruecolor(150,150);
// Plocka originalbilden och eventuellt skala POST-värdena är hur den ska skalas
imagecopyresampled($tmp,$src,0,0,intval($_POST['left']),intval($_POST['top']),150,150,intval($_POST['width']),intval($_POST['height']));
// Spara avataren, här i JPG. 80 är kvaliteten.
imagejpeg($tmp,"url/till/bild.jpg",80);
// Tar bort bilden ur variabeln så man kan använda variabeln senare
imagedestroy($tmp);
?>
Där har du några funktioner att titta på iaf.
När det gäller XML kan du titta på SimpleXML, har du tur finns det nån sån funktion där. Stöds av PHP5 och nyare, men det ska inte vara något problem att få tillgång till.