2010-01-10 3 views
0

Je dois créer un cours de traitement de photos PHP, je sais qu'il y en a BEAUCOUP qui existent déjà au public mais je dois en construire un pour faire ce que j'ai besoin de faire et rien d'autre.Cours de traitement d'image en PHP

Je dois ma classe pour le faire ...

1)
Je crée une nouvelle instance de ma classe et je passe une URL d'une photo, ou le chemin d'une photo locale en cours de téléchargement à l'aide du formulaire POST.

2)
Il me faut ensuite prendre l'image principale et vérifier ses dimensions, si elle est plus large les 800 pixels, je dois redimensionner vers le bas, si elle n'est pas plus de 800 alors je laisse juste

3)
nous avons maintenant besoin de construire 2 différentes vignettes de taille de cette image, si nous avons redimensionné l'image pour répondre à nos besoins de 800 pixels alors que nous utilisons cette image pour les vignettes de, sinon nous faisons nos vignettes de l'image originale.

4)
Nous mettons à jour puis quelques enregistrements de base de données

compléta. Je sais que ce n'est pas si difficile, mais j'ai besoin de construire cela avec les meilleures performances, par exemple si un utilisateur télécharge une photo de 2 Mo, je ne veux pas ébranler la mémoire et continuer à construire des vignettes de cette photo si nous avons déjà fait une image plus petite, je pense qu'il devrait alors utiliser l'image plus petite pour construire des vignettes.

Avec toutes ces informations maintenant, avez-vous des suggestions sur la façon de le faire dans GD ou imagemagick. Si je fais une méthode qui fait les vignettes, comment dois-je m'assurer qu'il continue à utiliser les plus petites images pour faire d'autres images plus petites? J'ai regardé quelques classes d'image existantes et elles sont toutes très complexes et sur faites IMO cependant aucune ne fait exactement cette tâche simple.

+0

Eh bien, vous avez déjà décrit le déroulement du programme avec votre question. Tout ce que vous avez à faire est de trouver les fonctions dans ImageMagick ou GD et de créer une classe de service Thumbnailer. – Gordon

Répondre

0

La bibliothèque PHP GD utilise un objet ressource pour représenter les images. Vous pouvez utiliser imagecopyresampled ou imagecopyresized pour redimensionner l'image.

S'il a été redimensionné, utilisez le nouvel objet image redimensionné pour les opérations futures, sinon utilisez l'objet ressource d'origine.

Questions connexes