Een image in stukjes (tiles) knippen met PHP

Status
Niet open voor verdere reacties.

killer4all2

Gebruiker
Lid geworden
26 mei 2009
Berichten
449
Goedendag,

Is het mogelijk om een image in verschillende stukken te knippen met PHP?

Ik wil bijvoorbeeld een image van 800x800 in 4 stukken knippen van 200x200. Hoe kan ik dit bereiken? Ik zag op internet veel oplossingen om het met een pogramma te doen, maar dit is voor mij geen oplossing aangezien het in een applicatie gebruikt moet gaan worden.

Ik hoop dat iemand mij kan helpen. Alvast bedankt voor je tijd :)

Mvg,
Rowan
 
Wat is het idee? Je upload een foto en dan gaat PHP rekenen?

Hoe weet PHP welk formaat hij moet pakken en in hoeveel vlakken?
 
Bedankt voor je reactie :)

Voor die logica wou ik zelf gaan zorgen. Ik moet alleen weten met welke functies ik de images in stukken kan knippen en ze vervolgens kan opslaan in een folder :)

Als je de hardcoded oplossing weet, dan kan ik zelf de rest denk ik wel :) Ik weet alleen niet met welke functie ik iets dergelijks kan bereiken (als PHP uberhaupt hier iets voor heeft)

__

Edit:

Ik heb net dit gevonden;
PHP:
<?php
// Create image instances
$src = imagecreatefromjpeg('image.jpg');
$dest = imagecreatetruecolor(200, 200);

// Copy
imagecopy($dest, $src, 0, 0, 250, 133, 200, 200);

// Output and free from memory
header('Content-Type: image/jpeg');
imagejpeg($dest);

imagedestroy($dest);
imagedestroy($src);
?>
Ik zou dit kunnen gebruiken om in een loop de hele image te doorlopen, maar ik gok dat dit niet bepaald efficiënt is. Weet jij of dit een goed idee is of niet?
 
Laatst bewerkt door een moderator:
Goedendag,

Is dit misschien iets?
Code:
var image = new Image();
image.onload = cutImageUp;
image.src = 'myimage.png';

function cutImageUp() {
    var imagePieces = [];
    for(var x = 0; x < numColsToCut; ++x) {
        for(var y = 0; y < numRowsToCut; ++y) {
            var canvas = document.createElement('canvas');
            canvas.width = widthOfOnePiece;
            canvas.height = heightOfOnePiece;
            var context = canvas.getContext('2d');
            context.drawImage(image, x * widthOfOnePiece, y * heightOfOnePiece, widthOfOnePiece, heightOfOnePiece, 0, 0, canvas.width, canvas.height);
            imagePieces.push(canvas.toDataURL());
        }
    }

    // imagePieces now contains data urls of all the pieces of the image

    // load one piece onto the page
    var anImageElement = document.getElementById('myImageElementInTheDom');
    anImageElement.src = imagePieces[0];
}

Dit is wel geschreven in JavaScript.

m.v.g, John
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan