Ajouter un texte avec un éditeur de texte Symfony3

nejeh - 4 oct. 2018 à 12:27
Bonjour,

je veux écrire un texte sur image en utilisant un éditeur de texte dans le but de choisir le couleur souhaité du texte .
j'ai réussi à créer un formulaire : avec 2 input : 1 pour télécharger le file et 1 autre pour saisir le texte.
maintenant ma solution fonctionne correctement mais avec seulement avec les couleurs blanc et noirs .
Est-ce qu'il y a une solution avec un éditeur de texte qui utilise les couleurs les polices ... .?
Merci d'avance !

voilà mon code :
  <div class="portlet-body form">
                <!-- BEGIN FORM-->
                <form id="formProject" class="form-horizontal"
                      action="{{ path('new_project') }}" enctype="multipart/form-data"  method="post"}>
                    <div class="control-group">
                    <label class="control-label">Télécharger une image</label>
                    <div class="controls">
                        <input type="file" name="image">
                        </br>
                        <input type="text" name="caption">
                    </div>
                        </br>

                    </div>
                    <div class="controls margin-bottom-30">
                        <button type="submit" name="submit" class="btn green">Valider</button>
                        <button type="reset" class="btn yellow">Annuler</button>
                    </div>
                    {{ form_rest(formProject) }}
                   </form>
                <!-- END FORM-->
            </div>



 /**
     * @Route("/create", name="new_project")
     */
    public function createAction(Request $request) {


        $project = new Project();

        $formProject = $this->createForm('Formation\MiniPBundle\Form\ProjectType', $project);
        $formProject->handleRequest($request);
        if ($formProject->isValid()) {
            if(isset($_POST['submit'])){
                $file_name = $_FILES['image']['name'];
                $file_size = $_FILES['image']['size'];
                $file_tmp = $_FILES['image']['tmp_name'];
                $file_type = $_FILES['image']['type'];
                move_uploaded_file($file_tmp,$file_name);
                header ("Content-type: image/jpeg");

                $string = $_POST['caption'];
                $font = 12;

                $width = imagefontwidth($font) * strlen($string);

                $height = imagefontheight($font) ;

              //  $im = imagecreatefrompng($file_name);

                switch (strtolower(pathinfo($file_name, PATHINFO_EXTENSION))){
                    case "jpg" :
                        $im = imagecreatefromjpeg($file_name);
                        break;
                    case "gif" :
                        $im = imagecreatefromgif($file_name);
                        break;
                    case "png" :
                        $im = imagecreatefrompng($file_name);
                        break;

                    default :
                        trigger_error("Error Bad Extention");
                        exit();
                        break;
                }
                $x = imagesx($im) - $width ;
                $y = imagesy($im) - $height;

                $background= imagecolorallocate ($im, 255, 255, 255);
                $textColor = imagecolorallocate ($im, 255, 255,255);
                switch($background){
                    case "white":
                        $textColor = imagecolorallocate ($im, 0, 0,0);
                        break;
                    case "black":
                        $textColor = imagecolorallocate ($im, 255, 255,255);
                        break;
                }


               // $textColor = imagecolorallocate ($im, 0, 0,0);

                imagestring ($im, $font, $x, $y, $string, $textColor);

                $a=imagejpeg($im);
                var_dump($a);

            }
      }

        return $this->render('FormationMiniPBundle:Project:new.html.twig', array(
                    'project' => $project,
                    'formProject' => $formProject->createView(),
        ));
    }


Afficher la suite 

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.