問題タブ [pycairo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1691 参照

python - Cairo を使用した GTK Pixbuf の効率的な描画

そこで、PyCairo を使って画像を描きたいと思います。効率はかなり重要ですが、PyGtk の gtk.gdk.Pixbuf を使用して画像を読み込んでいます。私の質問は、gtk.gdk.CairoContext を介して Cairo コンテキストを取得して Pixbuf をレンダリングする場合と、Pixbuf を cairo.ImageSurface オブジェクトに変換する場合のパフォーマンスの違いはありますか? これは別の描画スレッドで実行され、1 秒間に約 30 回更新されます (ただし、画像の更新が必要な場合のみ)。変換は 1 回だけ実行されることに注意してください。

0 投票する
1 に答える
433 参照

python - Mac 10.8でpycairoをビルドしようとしています

私は2つのPythonをインストールしています。OS に付属しているものと、手動でダウンロードしてインストールしたものは、どちらも 2.7 です。

手動でダウンロードしたものは、デフォルトの Python です。which python戻り値

/Library/Frameworks/Python.framework/Versions/2.7/bin/python

Cairo も手動でインストールしました。

次に、py2cairo をダウンロードし、ディレクトリに移動して実行したところ./waf configure、返されました...

しかし、私がやろうとすると./waf build、このエラーが発生します

何か案は?

0 投票する
1 に答える
1197 参照

python - SVG ファイルから cairo パスを作成する

私が見逃しているものがあるに違いありません。

私は Windows を使用しており、Python を使用して SVG ファイルからパスを取得し、それらを新しいサーフェス上のすべての場所にスケーリングします (またはすべてを 1 つに、それは実際には問題ではありません)。

ここstackoverflowでcairoについて読んだところ、私のニーズに合うように思えましたが、svgファイルからパスを生成する簡単な方法が見つかりませんでした。手で SVG を解析するよりも簡単な解決策はありませんか。xmlで?

0 投票する
5 に答える
23414 参照

python - Ubuntuの下にpycairoをインストールする

どういうわけか、Pythonでカイロを見つけることができません。

./wafconfigureを実行したときに取得しました

次に、。/wafinstallを実行しました。

試した

今、私は次に何をすべきかについてかなり困惑しています。/usr/local/lib/python2.7/site-packagesを確認しましたが、そこにありますが、それが唯一のパッケージです。私はまた、それが行くつもりであると私が思う「dist-packages」に気づきましたか?

どんな助けでも大歓迎です。

0 投票する
1 に答える
5028 参照

python - easy_installを使用して、Python2.7のAppleビルド用にpycairoをインストールする方法

Cairo用のPythonバインディングをMacOSXLionにインストールして、Python2.7のAppleビルドで使用できるようにします。私はPythonモジュールなどを使用してインストールする傾向がありますeasy_installが、この場合は機能しないようです。

Stack Overflowの他の場所でも同様の質問がありますが、その答えは私がここで間違っていることを説明していません。

この質問はPython2.6に関連しており、受け入れられた回答はではなくMacportsを使用してeasy_installおり、他の回答は上記で試した(失敗した)方法を正確に使用するようにアドバイスしているようです。

Mac OS Xにpycairoをどのようにインストールしますか?

そして、この質問は、ソースからpycairoを構築することに関連していますが、これは私がやりたくないことです。

osxにpycairoをインストールするにはどうすればいいですか?

0 投票する
1 に答える
818 参照

python - カイロ、ImageSurface:正しいアルファブレンディングを取得できません

Ubuntu 12.04でpycairo(実際にはcairocffi)を使用しています。システム上のライブラリはcairo1.10です。ARGB32形式の空のImageSurfaceを作成しました。たとえば、半透明の白い長方形(RGBA(1,1,1,0.5))を塗りつぶそうとすると、半透明の灰色の長方形が表示されます。

これは、半透明の背景に描画されるすべての半透明のピクセルで同じです。カイロは、透明なピクセルとのブレンドは、黒いピクセルとのブレンドと同じであると考えているようです...同じ問題が透明な表面:予期しない暗い境界線があります。

この振る舞いへの言及はどこにもありません。だから私は疑問に思っています、これはカイロの予想される動作ですか?どうすればこれを修正できますか?

0 投票する
1 に答える
899 参照

python-2.7 - パスの色付けに Cairo でメッシュ グラデーションを使用する

私はハードコアなグラフィックス生成を本当に気にしないので、プログラミングへのこのタイプのアプローチの初心者です。Python を使用して、パラメータ化された気候モデルを設計、作成、実行、および研究しています。しかし、ついに、視覚化の問題に遭遇しました。

パス全体で多かれ少なかれ滑らかな色(または色合い)の変化があるように、線形グラデーションを任意の曲線(必ずしも円周ではない)にマッピングできるものをカイロライブラリで探していました。それから私はいくつかのパターンを探していました.最終的にカイロのメッシュグラデーションが解決策であることがわかりました.

ただし、cairo.pattern_create_mesh() を使用して Python スクリプトから新しいメッシュ グラデーションを作成することはできません。

したがって、私の質問は次のとおりです。カイロでメッシュグラデーションを使用するにはどうすればよいですか? カイロで私がやりたいことを行う簡単な方法は他にありますか?

0 投票する
1 に答える
1254 参照

python - Pango と Cairo (Pycairo) で線を幅に合わせる

数行のテキストがあり、それぞれの幅を Context の幅に合わせたい (フォント サイズをスケーリングする) 必要があります。これを行う方法はありますか?これには pangocairo と python を使用しています。

0 投票する
2 に答える
2372 参照

image-processing - pycairoでsvgデータストロークを読み取るにはどうすればよいですか?

私はJPG画像を持っており、画像注釈用のフラッシュツールであるinputsvgdraw(http://www.mainada.net/inputdraw)を使用して、svgデータを生成する行をトレースできます。

SVG データのサンプル:

このデータを管理できる機能は何ですか?

0 投票する
0 に答える
301 参照

python - DrawingArea に完全な ImageSurface をペイントする方法は?

私は Python+Gtk+Cairo アプリに取り組んでいます。私のアプリケーションは、非常に複雑な (そして高価な) 描画を行う必要があります。

パフォーマンス上の理由から、最初に ImageSurface (画面外) に描画し、次に DrawingArea オブジェクトに ImageSurface コンテンツを描画します。

注意:図面を表示するには、図面を拡大/縮小する必要があります。そうしないと、大きな図面が窓から落ちてしまいます。

残念ながら、何かがうまくいかないことがあります。ご覧のとおり、ImageSurface のコンテンツ全体をペイントすることはできません。「標準的な」 Context.set_source_surface(imageSurface, xCoord, yCoord) Context.paint() を使用する

私はこの間違った出力しか得ません:

これは私が達成したい結果です:

イメージサーフェス全体を強制的にペイントするにはどうすればよいですか?

以下のサンプルコード:

ありがとう、IT