login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Thumbnails vaste breedte geven

Offline Ijspegel - 28/11/2008 10:02
Avatar van IjspegelNieuw lid Ik heb (met de hulp van een boek) een foto upload scriptje gemaakt. Het script zorgt er ook voor dat er thumbnails worden gemaakt, maar het gaat niet helemaal zoals gewenst. De thumbs moeten allemaal 70 x 70 zijn, maar mijn scriptje zorgt daar nu niet voor.

Stel dat ik een foto van 700px x 600px upload, dan maakt het scriptje een thumbnail van 70 x 60. Op zich natuurlijk best logisch, want dat is nou eenmaal de verhouding van de foto. Ik wil echter dat het 70 x 70 wordt, dus moet er bij de 60 nog 10 witruimte bijkomen. Het liefst aan de linkerkant 5px en aan de rechterkant 5px zodat de foto wel mooi gecentreerd blijft. Kan iemand mij zeggen hoe ik dit moet doen?

Op onderstaande url staat de code van mijn script:
Plaatscode: 47036

PS: Mochten jullie nog andere verbeterepunten zien, dan hoor ik dat graag.
Controleren op veilige invoer zit er overigens nog niet in, maar dat ga ik uiteraard nog wel doen.

5 antwoorden

Gesponsorde links
Offline bl00d0script - 28/11/2008 19:10
Avatar van bl00d0script Onbekend er is een programma dat heet frontpage daarmee kan je grafish de grootte aanpassen. of zoek een html editor dar pas je het makkelijk aan met de muis.
Offline Ijspegel - 28/11/2008 19:13 (laatste wijziging 28/11/2008 19:13)
Avatar van Ijspegel Nieuw lid Bedankt voor je suggestie, maar daar heb ik helaas niets aan. Het gaat hier namelijk om het automatisch maken van thumbnails via PHP. 

Is er nog iemand anders die mij hiermee kan helpen. Ik zit hier verschikkelijk vast en heb geen idee hoe ik dit moet doen.  
Offline Wave6 - 29/11/2008 07:58 (laatste wijziging 29/11/2008 08:00)
Avatar van Wave6 PHP beginner JavaScript?

En anders je waardes meegeven in een database.
height = 65; width = 65?
en vervolgens met PHP even wat HTML echoén.

  1. <?php
  2. echo '<img src="'.$aRow['image'].'" height="'.$aRow['height'].'" width="'.$aRow['width'].'" align="center">';
  3. ?>


Natuurlijk zal je nooit html moeten echoén als je eenmaal meer met standaarden werkt.
Maar maak van die echo een leuke variabele $sHtml. En laat het door smarty uitspuugen! ;) nettere manier.
Maar dit is wel ongeveer hoe het zou werken.

Je zou je image ook op kunnen slaan met gd.
Dus eerst uploaden en weg laten schrijven met GDLib.
Werkt echt heel fijn!
En dan de verwijzing en eigenschappen van je image vastleggen in je database;).

dit zou toch echt moeten werken denk ik...

Mocht je het allemaal wat client-side willen hebben? Dan zou ik toch voor javascript gaan.

document.img.... daarmee heb je verschillende opties om je image aan te passen;)
Offline Koen - 29/11/2008 10:41 (laatste wijziging 29/11/2008 10:44)
Avatar van Koen PHP expert PHP.net: imagecopyresampled

Voorbeeld #2.

en witruimte kan je bekomen door:
$startX = ($max_width - $width) / 2;
$startY = ($max_height - $height) / 2;
Offline Ijspegel - 29/11/2008 11:07 (laatste wijziging 29/11/2008 11:08)
Avatar van Ijspegel Nieuw lid D_O: Je begrijpt me denk verkeerd. Ik weet op zich wel hoe ik mijn afbeelding vierkant moet maken met GD. Als nu echter de verhoudingen 700 x 600 zijn, en ik maak er 70 x 70 van dan wordt het product in de afbeelding uitgerekt waardoor het product niet mooi wordt. Het moet dus 10px breder worden, maar dan wel opgevuld door witruimte zodat het product wat in de afbeelding te zien is wel gewoon met de juiste verhouding getoond wordt. Snap je?  

Sliphead: Zoals je in mijn code kan zien maak ik al gebruik van imagecopyresampled. Ik snap helaas niet echt hoe ik jouw code nu in de mijne kan verwerken zodat ik het krijg zoals gewenst. Zou je het alsjeblieft in mijn code willen verwerken zodat ik kan testen of het ook daadwerkelijk goed werkt? Ik zit hier nu namelijk al zo lang vast dat ik een beetje gek aan het worden ben.   Alvast super bedankt!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.18s