hallå! Det e bara jag igen...image magick- konvertera till jpg
Sitter med ett ganska stort projekt där medlemmar ska kunna ladda upp bilder. Bl.a. ska de kunna ladda upp psd, tiff och en hel hög med andra "icke-visningsbara-på-webben-bilder". Dessa måste då konverteras till jpg, png eller något annat webbformat.
Hitta image magick och fått igång det, men som så många andra som kikar på imagemagick så finns det absolut inga manualer...
Min fråga är:
Hur konverterar jag dessa till exempelvis jpg?
Nedan kod är ett första test att ladda upp en bild, kolla så att extensionen stöds av imagemagick och initiera ett magickobjekt med bilden. Detta fungerar...men sen då?
nedan kod tar hand om resultatet från en fileupload...så den skriver jag inte ner här.
<code>
if($_SERVER['REQUEST_METHOD']=="POST"){
if(isset($_POST['action'])):$action=$_POST['action'];else:unset($action);endif;
}
if(isset($action)){
if($action=="convert"){
if(!empty($_FILES['userfile']['tmp_name'])){
$image = new Imagick();
//hämta extensionen från uppladdade filen
$ext=strtoupper(strrchr($_FILES['userfile']['name'],"."));
$ext=substr($ext,1);
//hämta tillåtna extensioner från imagick och kolla så att uppladdad fil e ok
$fmts=$image->queryFormats();
$vailextension=0;
foreach($fmts as $extension){
if($extension==$ext){
$vailextension=1;
}
}
if($vailextension){
//ok, vi har en ok extension, ladda upp bilden
$targetfolder="/var/www/bilder/";
$uploadfile=$targetfolder.basename($_FILES['userfile']['name']);
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)){
//initiera imagick med den uppladdade filen
if($image->readImage($uploadfile)){
//so far all is ok:)...dax att börja konvertera filen till webbformat
//eftersom detta är ett testscript har jag inte brytt mig om att kolla om
//det redan är i webbformat, laddar bara upp eps och psd:er
print("all ok, now what??");
}
else{
print("kan inte läsa fil: $uploadfile");
}
}
}
else{
print("ogiltig extension");
}
}
}
}
</code>
Tacksam för tips om manualer, eller bara hur jag går vidare för att konvertera bilder till webbformat.
Tackar!Sv: image magick- konvertera till jpg
Detta problem e löst, det var bara att lägga till:
<code>
$image->writeImage('bilder/newpic.jpg');
</code>
...vilket ju naturligtvis gav upphov till nya problem...lager..
jag kan slå samma lager m.h.a
<code>
$image->flattenImages();
</code>
men detta genererar bara en tom bild. Hur hanterar man lager i PSD-filer?
/Anders