2017-11-06 11 views
0

私はローカルでは再生できない奇妙なバグに遭遇していますが、Google Cloudの機能では同じテキストが通常同じことをしますが、それもやはり巻き返し問題ですそれから魔法のように遠ざかります。imagemagickでテキスト文字が壊れています-label

corrupted character sample

ここで変換コールと結果の腐敗したテキストのサンプルです:

convert -background none -stroke "rgb(0, 0, 0, 0.0)" -fill "rgba(255, 255, 255, 1)" -font ./fonts/FrederickatheGreat-Regular.ttf -pointsize 68 label:"Carly" -trim \(+clone -background "rgba(135, 138, 140, 0.59)" -shadow 80x8+8+10 \) +swap -background none -layers merge +repage -rotate 0 /tmp/1057522377634683.png 

The above code made the "Carly" text and the same code made the "Sarah" but with the label changed.

のImageMagickがGCF上で実行されているのバージョンは次のとおりです。

変換-version:バージョン:ImageMagick 6.8.9-9 Q16 x86_64 2017-07-15 http://www.imagemagick.org著作権:Copyright(C)は、1999年から2014年 ImageMagickのメーカーLLCの特長:DPCモジュールOpenMPの代表者: カイロのDjVu bzlib FFTWのfontconfig freetypeのJBIG JNG JPEG LCMS LQR ltdl LZMA のOpenEXR pangocairo PNG RSVG TIFF、WMF、X XMLのzlib

私は私のローカルマシン上のImageMagickの同じバージョンを持っていますが、テキストの破損を再現することはできませんし、私はそれがGoogleでLiveのコンパイルバージョンとなる可能性が疑われる

私は」(2017年7月15日、コンパイル日付を注意してください)誰かがこれまでにこの問題に遭遇したことを願っていて、簡単な修正が何であるかを知っています - それはRGB出力タイプを.pngの値、など

+1

ImageMagickで使用されるFreetypeデリゲートのバージョンを確認し、フォントレンダリングを処理します。そのバージョンのImageMagickも約120バージョンです。しかし、それはパッチを当てるように見えます。時には、パッチが不良であるか、インストールやインストールが不十分であることがあります。だから、それはImageMagickのGoogle環境かもしれない。 – fmw42

+0

こんにちは@ fmw42 - コメントありがとう。私は実際にそれを整理しました。だから私が使っているコマンドは 'label:'オプションを使っていて、 '-stroke'を指定していますが' -strokewidth'は指定していませんでした。彼らは '-draw'を使っていますが、私は' -draw'でドロップシャドーをする方法を考え出していません。とにかく、私は '-stoke'値を削除することでファンキーな文字を取り除きました。 – JoeManFoo

+0

ストロークとストロークの幅は、ラベル:でサポートされています。しかし、私はなぜあなたが完全に透明な脳卒中を持っていたのか困惑しました。 – fmw42

答えて

0

問題が設定されている-strokewidthずに-stokeオプションを使用していた - も私はlabelがそれらのかをサポートしているかどうかに関係なく、私がテストする必要があります100%わからないんだけど後で。しかし、私の解決策はコマンドから-strokeを削除し、フォント文字が破損しなくなったことです。

+1

ImageMagick 6.9.9.23 Q16 Mac OSXを使用して、エラーなしで20回コマンドを実行しましたが、結果は正常です。私は6.8.9.9のいずれかに欠陥があるか、Freetypeの代理人が古いマシンで失敗したと考えています。しかし、私は完全に透明なストロークを使用する理由はありません。多分それはあなたが持っていたものであり、他の色を許可しているのかもしれません。同様に、-rotate 0の場合、これはno-opですが、とにかく処理されます。 – fmw42