9
votes

Créer des graphiques vectoriels avec php

im essayant de créer des graphiques vectoriels dans php. J'ai essayé le Caire et je n'ai pas pu le faire travailler. Je comprends que Imagemagick a une fonctionnalité de vecteur, mais la documentation sur php.net est très pauvre, peut-être que quelqu'un me conduit dans la bonne direction? Les idées sont de pouvoir sauvegarder le graphique sur EPS. J'ai également besoin d'utiliser différentes polices pour produire du texte.


4 commentaires

Avez-vous envisagé d'utiliser PDF plutôt que des EPS? (Il y a généralement plus de soutien à la création de PDF.)


Nope essentiellement, le fichier doit être modifié via Adobe Illustrator. Je ne sais pas si c'est possible avec un PDF. Je vais chercher à le faire avec SVG qui est ce que le Caire utilise mais je ne peux pas trouver une bonne documentation sur le wrapper PHP pour cela. J'ai eu le Caire à installer mais je ne sais pas comment commencer à créer une image. Php juste traverser des erreurs partout


Vous n'avez pas besoin d'une enveloppe pour faire SVG avec PHP. Il vous suffit de spécifier le haut-par-tête correct et imprimer le SVG comme vous le souhaitez avec HTML.


C'est la chose que je ne veux pas le sortir au navigateur, je veux le sauvegarder en tant que fichier EPS


4 Réponses :


0
votes

3 commentaires

Ok j'ai regardé dans les deux liens et le second donne qu'il semble impossible de faire ce que je veux avec ImageMagick & Magickwand. Devinez malade tomber cela et plus regarder au Caire


Ceci est incorrect et ne devrait pas avoir de réponse positive. Imagemagick fait rasteriser des images vectorielles, mais il ne voit pas les images raster.


Oui ImageMagick peut créer MVG. Je n'ai jamais écrit ImageMagick peut vectoriser des rasters. Où avez-vous choisi ça? Quoi que ce soit ... Rolleyes ...



4
votes

Bien que vous cherchiez à créer des EPS, je viserais toujours à créer un PDF. Les PDF sont entièrement modifiables dans tout emballage majeur: Adobe Illustrator, Corel Draw, Xara PRO, etc.

TCPDF fonctionne bien et il existe un groupe d'échantillons de code, y compris des polices et une prise en charge des images vectorielles EPS et AI Sortie vers pdf

EPS / AI Exemple http://www.tcpdf.org/examples/example_032.pdf < / a>

Tous les exemples et code PHP http://www.tcpdf.org/examples.php


0 commentaires

4
votes

Je sais ce que c'est une question assez ancienne, mais j'ai eu un problème quelques semaines il y a quelques semaines et je l'ai résolu pour moi-même, j'espère que cette réponse aide quelqu'un. La bibliothèque du Caire possède des liaisons PHP, mais elle a également peu de bogues qui rompent la convertie entre les formats - oubliez-la. Nous avons besoin de quelque chose de natif ici au début. Regardez le format SVG - Ouvrez votre image vectorielle dans l'éditeur (J'utilise Inkscape) et enregistrez-le comme fichier SVG. Après cela, vous pouvez le changer via PHP comme un fichier XML. Ajout de polices personnalisées dans SVG:

 exec('/path/to/svg2eps.sh /path/to/in.svg path/to/out.eps');


0 commentaires

0
votes

Je ne peux pas vous dire comment créer des images vectorielles dans PHP, mais vous aimeriez peut-être une approche un peu différente - créer des images raster dans PHP et les convertir en vecteurs? Cela fonctionne bien pour les images noires et blancs non sûres des couleurs.

<?php
$im = imagecreatetruecolor(500,500);
//draw something on $im

imagepng($im, 'image.png'); 


$url = 'http://server.com/image.png'; //change to your server's domain
$data = json_decode(file_get_contents('http://api.rest7.com/v1/raster_to_vector.php?url=' . $url . '&format=svg'));

if (@$data->success !== 1)
{
    die('Failed');
}
$vec = file_get_contents($data->file);
file_put_contents('vectors.svg', $vec);


0 commentaires