Ik ben al een eeuwigheid aan 't prusten, maar ik wil een plaatje wat mijn server staat via PHP croppen en dan opnieuw opslaan.
Anders uitgelegd:
Plaatje heeft afmeting 120x90 pixels. Uiteindelijk moet het plaatje 120x66 pixels worden, zonder dat de verhoudingen veranderen. De bovenste 12 en onderste 12 moeten er af, en het midden moet over blijven.
Dit is een memberfunctie van mijn image-class. Die kun je zo ombouwen:
<?php
public function crop ($dst_w, $dst_h) {
if ($dst_w > $this->w) {
$this->set_err ('<p>Geef een breedte op, kleiner dan ' . $this->w . '</p>');
return false;
}
if ($dst_h > $this->h) {
$this->set_err ('<p>Geef een hoogte op, kleiner dan ' . $this->h . '</p>');
return false;
}
if ($dst_w == $this->w && $dst_h == $this->h) {
$this->set_err ('<p>Er valt niets te croppen, want je hebt <strong>precies</strong> de breedte en de hoogte van het plaatje opgegeven.</p>');
return false;
}
De inhoud van de link, waar ik je naar toe wees....
Wel even aanpassen naar je eigen zin natuurlijk
Het gaat me niet om uploaden, bestand staat al op de server. Het gaat me meer om dat ik de bovenste 12 en onderste 12 pixels er af knip en een nieuwe afbeelding over hou met de middelste 66.
Als ik een standaard resize gebruik, dan kan hij de afbeelding mooi verkleinen maar verdwijnen de pixels niet :-)
Ik heb de code zo niet bij de hand maar zoiets zou het kunnen zijn?:
Je maakt met PHP een afbeelding van 120*66 pixels, daar leg je de te croppen afbeeling op, precies int het midden (dmv getimagesize etc en dan height en margin etc)en dan opslaan met een formaat van 120*66 pixels? Misschien dat ik je nu op juiste spoor zet waardoor je de code nu zelf in elkaar kunt zetten?