2017-11-22 13 views
0

ImageMagickに入力文字列(またはファイル)のタイプを知らせることができないのだろうかと思います。Point ImageMagickを使用するファイル形式

E.g。 .sqlをテキストファイルとして扱います。

私はそれをphp(Imagick)で使用する必要があります。

私が得る唯一のものは、ファイル形式が不明であることを除いです:

no decode delegate for this image format `' @ error/blob.c/BlobToImage/361 
+0

あなたが残して試みることができる方法を/知っている ファイル拡張子をオフにして、何が起こるかを見てください。 – Bonzo

+0

? 'XYZ.sql'にあるもの最初の数行を表示してください。 –

+0

@Bonzo ImageMagickはファイル拡張子に固執します。それがなければ、すべてのファイルにエラーが発生します(サポートも)。 – toshniba

答えて

1

あなたはファイルは、このようなテキストが含まれていることをImageMagickのを伝えることができます:

convert TEXT:stuff.sql result.png 

与えるであろうあなたはテキストファイルstuff.sqlの内容のイメージを表示します。

あなたはディレクトリリストの画像をしたいのであれば、あなたが行うことができます:

ls -l | convert TEXT:- listing.png 

か、を、ファイルcommands.sqlにいくつかのSQLを持っている場合:

convert -background yellow -fill magenta text:commands.sql -trim result.png 

enter image description here

または、より大きな境界線を中心にして中央に配置したい場合:

convert -background yellow -fill magenta text:commands.sql -trim \ 
     -gravity center -extent 120%x120% result.png 

enter image description here

1

@MarkSetchellは、あなたがそれをつけることでImageMagickのに(カスタム)ファイルタイプを伝えることができます述べたように。

FILETYPE:FILEPATH 

例えば

TXT:/path/to/file.sql 
私はあなたが特定のリストからファイル形式の接頭辞があると
  • identify -list formatこれはPHPでも動作しますLinuxの
  • であなたにサポートされている形式のもののリストを与える必要があります:$im = new Imagick("txt:/path/to/file.sql");
  • はたぶん誰かがBLOBとしてファイルの内容を持ったときに、それが動作するかどうか($im->readImageBlob(...)
+0

'TXT:'と 'TEXT:'を区別する必要があります。前者はイメージ内の座標と値を表し、後者はテキストデータであり、必要なものです。あなたが前者の例を見たいなら、 'convert rose:txt:-'を使います。後者が必要です。 –

+0

@MarkSetchellコマンドラインで再現することはできますが、phpのImagickコンストラクタで使用すると違いはありません。しかし、拡張子が付いていないときにどの接頭辞が有効であるかを説明することができます。リストはどこにありますか? thx – toshniba

+1

私はPHPインターフェイスをあまり使用しませんが、 '$ image-> setFormat( 'TEXT');' –

関連する問題