Sto cercando di creare grafica vettoriale in PHP. Ho provato il Cairo e non sono riuscito a farlo funzionare. Capisco che imageMagick abbia funzionalità vettoriali ma la documentazione su php.net è molto scarsa, qualcuno può guidarmi nella giusta direzione? L'idea è di essere in grado di salvare l'immagine in EPS. Devo anche essere in grado di utilizzare diversi tipi di carattere per l'output del testo.Creazione di grafica vettoriale con PHP
risposta
Prova questi link:
http://www.imagemagick.org/script/magick-vector-graphics.php
e
http://www.imagemagick.org/discourse-server/viewtopic.php?f=10&t=10144
Ok ho guardato entrambi i link e il secondo mi sembra impossibile fare ciò che voglio con Imagemagick e magickwand. Indovina, lascia perdere e guarda più cairo. – jef2904
Questo non è corretto e non dovrebbe avere una risposta positiva. Imagemagick rasterizza le immagini vettoriali, ma non vettorializza le immagini raster. – CommonKnowledge
Sì Imagemagick può creare MVG. Non ho mai scritto che imagemagick può vettorializzare i raster. Da dove lo hai preso? Qualunque cosa ... rolleyes ... – Diablo
Anche se si sta cercando di creare eps Vorrei ancora mirare a creare un PDF. PDF sono completamente modificabili in qualsiasi pacchetto importante: Adobe Illustrator, Corel Draw, Xara Pro ecc
TCPDF funziona bene e c'è un sacco di esempi di codice inclusi i font e il supporto per le immagini vettoriali eps e ai di uscita in PDF
ENV/ai esempio http://www.tcpdf.org/examples/example_032.pdf
Tutto il codice esempi e php http://www.tcpdf.org/examples.php
so che cosa questo è abbastanza vecchia questione, ma ho avuto qualche problema poche settimane fa e risolvere per me, spero che questa risposta aiuta qualcuno. La libreria Cairo ha collegamenti PHP, ma ha anche alcuni bug che interrompono la conversione tra formati: non pensarci più. Abbiamo bisogno di qualcosa di nativo qui all'inizio. Guarda il formato SVG: apri l'immagine vettoriale nell'editor (io uso Inkscape) e salvalo come file SVG. Dopo di che puoi cambiarlo tramite php proprio come il file xml. Aggiunta di font personalizzati in formato SVG:
$text_path = 'm 100,200'
$font_name = 'Some_font.ttf';
$font_size = '20px';
$font = base64_encode('font_file_content');
$text = 'Bla bla bla';
$font_svg = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<path d="' . $text_path . '" id="font_id_123"/>
<style type="text/css">
<![CDATA[
@font-face {
font-family: ' . $font_name . ';
src: url("data:font/ttf;charset=utf-8;base64,' . $font . '");
]]>
</style>
</defs>
<text style="font-family: ' . $font_name . '; font-size: ' . $font_size . ';">
<textPath xlink:href="#font_id_123">' . $text . '</textPath>
</text>
</svg>';
$content = file_get_contents($svg_file); // $svg_file - your vector image
$content = substr($content, 0, -6); // cut last '</svg>' tag from file
$newContent = $content . $font_svg . '</svg>'; // add font to the end
file_put_contents($svg_file, $newContent); // save changes
Ok, abbiamo SVG con i font necessari, ma abbiamo bisogno di EPS. Per la conversione in formato SVG in EPS ho usato Inkscape con semplici svg2eps.sh script bash:
#!/bin/bash
inkscape -f $1 -z -T -E $2
si può chiamare da PHP:
exec('/path/to/svg2eps.sh /path/to/in.svg path/to/out.eps');
Altri suggerimenti:
1) Installare la versione più recente di Inkscape. L'ho provato su openSuse 12.3 - Funziona alla grande.
2) Installare tutti i font personalizzati sui font di sistema.
Non posso dirti come creare immagini vettoriali in PHP, ma forse ti piacerebbe un approccio un po 'diverso, creare immagini raster in PHP e convertirle in vettori? Funziona bene per il nero & immagini bianche non sicure di quelle a colori.
<?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);
- 1. Creazione di un pulsante con grafica vettoriale nel contenuto
- 2. Grafica vettoriale in Android
- 3. Estrazione grafica vettoriale da pdf con Inkscape
- 4. Rendering grafica vettoriale in OpenGL?
- 5. Libreria grafica vettoriale per Common Lisp
- 6. Grafica vettoriale utilizzata per google map marker
- 7. Utilizzo della grafica vettoriale XAML nell'applicazione WPF
- 8. Materiale Android Riproduzione/Pausa Animazione grafica vettoriale
- 9. C# 2D Grafica vettoriale Gioco con DirectX o OpenGL?
- 10. Formato di Appunti di grafica vettoriale per Qt
- 11. Aggiunta di dati della mappa vettoriale all'app GPS iOS. Rendering di grafica vettoriale in tempo reale
- 12. Creazione vettoriale di boost dynamic_bitset in C++
- 13. iPhone - creazione di percorsi al quarzo sull'app vettoriale?
- 14. Creazione file csv con php
- 15. Creazione di modelli html con PHP
- 16. Creazione e download di CSV con PHP
- 17. php ini creazione di array con parse_ini_file
- 18. Creazione di una sitemap XML con PHP
- 19. Creazione di file javascript con estensione .php
- 20. Creazione di una tabella dinamica con PHP
- 21. Conversione di grafica con ExportString
- 22. C'è un modo per incorporare grafica vettoriale nello sviluppo di LibGDX?
- 23. Caricamento di grafica vettoriale da file XAML in modo programmatico in un'applicazione WPF
- 24. Il miglior formato di file per la grafica vettoriale scalabile sul web?
- 25. creazione di una bella interfaccia grafica in WPF
- 26. Grafica con Prawn
- 27. Grafica raster in xterm?
- 28. AS3 vettoriale con init Valori
- 29. Il modo migliore per creare grafica vettoriale in python da utilizzare in word/powerpoint
- 30. MATLAB: i bordi delle patch sono visibili dopo l'esportazione come grafica vettoriale
Avete considerato l'utilizzo del PDF anziché dell'EPS? (C'è generalmente più supporto per la creazione di PDF.) –
No, in pratica il file deve essere modificabile tramite Adobe Illustrator. Non sono sicuro se ciò è possibile con un PDF. Sto andando a cercare di farlo con SVG che è quello che usa Cairo ma non riesco a trovare una buona documentazione sul wrapper PHP per questo. Ho installato Cairo, ma non so come iniziare a creare un'immagine. PHP passa attraverso gli errori ovunque – jef2904
non hai bisogno di un wrapper per fare svg con php. Devi solo specificare l'intestazione 'corretta 'e stampare la svg come faresti con html. – zzzzBov