PHPでベクターグラフィックスを作成しようとしています。私はカイロを試みたし、それを働かせることはできなかった。 imageMagickにはベクター機能がありますが、php.netのドキュメントは非常に貧弱であることを理解しています。アイデアはEPSにグラフィックを保存できることです。私はまた、テキストを出力するために別のフォントを使用できるようにする必要があります。PHPでベクターグラフィックスを作成する
答えて
これらのリンクをお試しください:
http://www.imagemagick.org/script/magick-vector-graphics.php
と
http://www.imagemagick.org/discourse-server/viewtopic.php?f=10&t=10144
私は両方のリンクを調べて、2番目のリンクはImagemagick&magickwandで望むことができないように見えます。推測して、カイロをもっと見てください。 – jef2904
これは間違っていて、肯定的な答えを示すべきではありません。 Imagemagickはベクトル画像をラスタライズしますが、ラスタ画像はベクトル化しません。 – CommonKnowledge
はいImagemagickはMVGを作成できます。 imagemagickがラスタをベクトル化できるとは書いていませんでした。あなたはどこからそれを選んだのですか?何でも...ロールレス... – Diablo
あなたは、私はまだPDFを作成することを目指すだろうEPSを作成するために探しているが。 PDF年代には、任意の主要なパッケージに完全に編集可能です:Adobe Illustratorの、コーレルドロー、シャーラプロなど
TCPDFがうまく機能し、フォントとベクトル画像EPSとAI出力のサポートを含むコードサンプルの束がPDFにあり
私はこれはかなり古い問題が何であるかを知っているが、私は数週間前に、いくつかの問題を抱えていたし、自分のためにそれを解決するには、この答えは誰かに役立ちます願っていますすべての例とPHPコード。 CairoライブラリにはPHPバインディングがありますが、フォーマット間の変換を壊すバグもほとんどありません。私たちはここに何かネイティブなものが必要です。 SVG形式を見てください - 私はInkscapeを使ってあなたのベクトルイメージをエディタで開き、それをSVGファイルとして保存します。その後、xmlファイルのようにphpで変更することができます。 は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]を、我々は必要なフォントとSVGを持っているが、我々はEPSが必要です。 EPSにSVGを変換するために私は、単純なbashスクリプトのsvg2eps.shとInkscapeのを使用:
#!/bin/bash
inkscape -f $1 -z -T -E $2
あなたは、PHPからそれを呼び出すことができます。
exec('/path/to/svg2eps.sh /path/to/in.svg path/to/out.eps');
その他のヒント:
1)の最新バージョンをインストールします。インクスケープ。私はopenSuse 12.3でそれをテストしました。
2)すべてのカスタムフォントをシステムフォントにインストールします。
PHPでベクターイメージを作成する方法を教えてもらえませんが、PHPでラスターイメージを作成してベクトルに変換するのが少し違っていますか?それは黒のために大丈夫になります&白いイメージは色のものについて確かです。
<?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. カラーバーで2d関数からベクターグラフィックス(ヒートマップ)を作成する
- 2. iOsのベクターグラフィックス?
- 3. JavaFXでのベクターグラフィックスの使用
- 4. ブラウザにベクターグラフィックスを表示する
- 5. PHPプログラムを作成できるbashシェルスクリプトを作成する
- 6. PHPカレンダーを作成する
- 7. PHPコンタクトフォームを作成する
- 8. PHP - カスタムプロファイルページを作成する
- 9. PHPでダイナミックナビゲーションメニューを作成する(インデックス作成)
- 10. php、windowsでZIPファイルを作成する
- 11. PHPでダウンロードリンクを作成するには?
- 12. PHPでディレクトリを作成するには?
- 13. PHPでダイナミックダウンロードリンクを作成するには
- 14. PHPで輪郭を作成する
- 15. PHPでダイナミックサイトマップを作成する
- 16. PHPでcsvファイルを作成する
- 17. PHPでチャートを作成する
- 18. PHPでベルカーブチャートを作成する方法
- 19. PHPのクラスでエコーを作成する
- 20. PHPでタイムテーブルを作成するには
- 21. PHPでディレクトリパスを作成するには
- 22. PHPでアーカイブリストを作成するには?
- 23. PHPでディレクトリを作成する方法
- 24. PHPでdatabsseを作成する
- 25. PHPでログファイルを作成する方法
- 26. phpでgifを作成する
- 27. PHPでダイナミックカテゴリメニューを作成する
- 28. coinflipをPHPで作成する(プロヴァンス・フェア)
- 29. xmlファイルでPHPリクエストを作成する
- 30. PHPで "スポットライト検索"を作成する
EPSではなくPDFを使用することを検討しましたか? (一般的にPDFを作成するためのサポートが増えています。) –
基本的には、Adobe Illustratorでファイルを編集する必要があります。 PDFで可能なことがわからないImは、カイロが使用しているもののSVGでそれをやってみるつもりですが、PHPラッパーについては、良い文書を見つけることができません。私はインストールするカイロを持っていますが、私はイメージを作成する方法を知らない。 PHPはちょうどthroughsエラーどこでも – jef2904
あなたはPHPでsvgを作るためのラッパーは必要ありません。正しい 'header'を指定し、htmlのようにsvgを出力するだけです。 – zzzzBov