Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/10/2011, 17h25   #1
Membre régulier
 
Avatar de demonixis
 
Homme Yannick Comte
Développeur Web
Inscription : juin 2008
Messages : 59
Détails du profil
Informations personnelles :
Nom : Homme Yannick Comte
Âge : 26
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juin 2008
Messages : 59
Points : 81
Points : 81
Par défaut [PDFlib] Positionnement d'une image avec rotation

Bonjour à tous,

Je suis actuellement en train de bosser sur la génération de PDF avec PDFlib 8 (la version "demo"). J'ai installé la lib et commencé à faire mes générations de PDF et tout est presque bon.. tout sauf la rotation d'image et j'ai arpenté toute la toile à la recherche de LA solution que je n'ai hélas pas encore trouvé.

Pour situer le contexte voilà comment ça se passe : D'un côté j'ai un frontend (Flash) sur lequel on va disposer des objets (images, textes, etc...), pour chaque objet on mémorise les coordonnées par rapport au canvas du frontend et jusqu'à là tout est bon. Tout est stocké en base.

La génération de PDF se fait en ligne de commande via PHP-Cli (c'est une tâche symfony qui s'occupe de ça). Le rendu des images non tournées est impeccable, les textes aussi par contre, dés que je veux appliquer une rotation sur une image c'est le document entier qui tourne...

Ce que j'aimerais faire c'est pouvoir dire à PDFlib que je veux faire tourner l'image depuis son origine ($x + $width / 2) et ($y + $height /2) et pas faire tourne le document.

Alors dans un premier temps voilà ce que je fais :

Code :
1
2
3
4
5
6
7
// Rotation de l'image
if ((double)$rotation != (double)0.0)
{
      $options .= ' position={center bottom} rotate='.$rotation.' fitmethod=entire'; 
 
      $pdf->fit_image($imagePdf, $x1, $y1, $options);
}
Avant ça je récupère la rotation en degré dans la variable $rotation. J'ai bien consulté la doc et c'est effectivement une valeur en degré qu'il faut passer. On voit d'ailleurs que la rotation est bonne mais la position en $x et $y est complètement fausse, d'ailleurs suivant le taux de rotation l'image sort carrément du PDF (ce qui est normal puisque la rotation se fait depuis le document et pas depuis l'image).

J'ai tenté d'appliquer une formule de rotation pour avoir de nouvelles coordonnées mais ça n'a pas été un succès :

Code :
1
2
3
$rotationRadian = deg2rad($rotation);
$x1 =  cos($rotationRadian) * $x + sin($rotationRadian) * $y;
$y1 = -sin($rotationRadian) * $x + cos($rotationRadian) * $y;
Voilà en image ce que ça donne sans application de la formule de rotation



Uploaded with ImageShack.us

Avez vous déjà rencontré ce problème et si oui comment le résoudre ? C'est un calcul mathématique où l'angle de rotation est facteur car suivant sa valeurs les positions changent vraiment.

D'avance merci
demonixis est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h47.


 
 
 
 
Partenaires

Hébergement Web