PHP, scalaImage och sedan se hur stor den är i byte?

Här diskuteras programmering och utveckling
Användarvisningsbild
BadOmen
Inlägg: 1172
Blev medlem: 18 aug 2006, 10:45
OS: Kubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Umeå

PHP, scalaImage och sedan se hur stor den är i byte?

Inlägg av BadOmen »

Jag vill kunna få fram en bilds storlek i byte efter att jag har ändrat dens storlek (widht, heght) med Imagick scaleImage() men jag får bara fram originalstorelken på bilden innan den blev förminskad. Jag vill se storleken i bytes innan jag sparar ned den. Finns det nån smidig lösning? Här en bit ned ser ni vad jag har gjort.

Och sedan en fråga till. Det är så att det är väldigt länge sedan jag höll på med hemsidor och när jag sist gjorde det så kunde man inte med <img src="" width=xxx height=yyy> vara säker på att webläsaren visade bilden i just den tänkta bredden och höjden utan den kunde få för sig att ibland iaf visa originalstorleken. Behöver man nu också ändra bildens storlek så att den passar in eller räcker det att man direkt i css sätter ut bredd och höjd så man slipper skala ned bilden?
Hur som helst så vill jag ha svar på min första fråga också =)

Så här har jag gjort och ni kan se i koden vart det inte funkar som det är tänkt, det blir fel i andra kodstycket.

$this->file_name pekar på en variabel innehållande $_FILES["file"]["name"] som jag har ränsat från "otrevliga" tecken. Och sen skriver jag ut bredd och höjd bara för att se att jag sedan har ändratt det :)

Kod: Markera allt

$Image=new Imagick($this->file_name);
$ImageWidth=$Image->getImageWidth();
$ImageHeight=$Image->getImageHeight();
echo "bredd ".$ImageWidth;
echo "höjd ".$ImageHeight;

Här vill jag komma åt den nya filstorleken efter att jag har ändrat bildens Width and height. Men jag kommer bara åt originalstorleken, måste jag spara ned filen för att kunna komma åt den nya storleken eller finns det ett smidigare sätt? Jag har tänkt göra en liten loop som ser till att komprimera filen så att den blir tillräckligt liten om den inte är det efter att jag har ändrat bildens höjd och brädd till det jag vill ha och då måste jag också kunna se filens storlek i byte efter att jag gjort kompirimeringen.(koden innehåller lite skräp som jag har lagt till för att se vad som händer )

Kod: Markera allt

$Image->scaleImage($newWidth,$newHeight);
$newImageWidh=$Image->getImageWidth();
$NewImageHieght=$Image->getImageHeight();
//visar den nya Widht and height av bilden.
echo "bredd ".$newImageWidh . " höjd: ".$NewImageHieght ;
							
// visar inte rätt storlek utan den visar storleken från originalet.
$newFileSize=$Image->getImageSize();
echo $newFileSize;

// sparar ned rätt storlek.
$Image->writeImage("bilder/thumbnail/tn_" .$addTimeToFile."_NY".$fixedFileName);
Betygsätt din Hårdvara och underlätta inköp av ny för andra:http://ubuntu-se.org/phpBB3/viewforum.php?f=138
Ubuntu-se forsknings team, här.
Min Ubuntu blogg som funkar som en stor post-it lapp för mig http://attminnas.blogspot.com/

Återgå till "Programmering och webbdesign"