問題タブ [cairo]

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 に答える
304 参照

makefile - GTK 2.9が(Lucid Lynxで)コンパイルするために必要なcairoは何ですか?

私はconfigureを実行して、新しいLinuxボックス(Ubuntu 10.04 Lucid Lynxを実行)でGTK2,9のmakeファイルを準備しようとしています。

次のようないくつかの依存関係について不平を言いました。

  • glib-2.0
  • atk(1.29.2)
  • パンゴ(1.20)
  • カイロ(1.6)

私はなんとかglib2.22.0を見つけ、atkをダウンロードしましたが、まだコンパイルせず、まだpangoを起動しませんでしたが、cairoパッケージを取得しようとしたときに、どこから取得するのかわかりませんでした。

GTKサイトではなく、GNUサイトには何もありません!

誰がそれをどこから入手するか知っていますか?

0 投票する
3 に答える
11562 参照

gtk - カイロ「pkg-config検索パスにlibpngが見つかりませんでした」

GTK-DFB をインストールしようとしていますが、cairo が必要です。ソースからビルドしようとすると、次のようにスローされます。

アイデア?

ありがとう

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

c++ - WebKit でスクロールバーを無効にする (フラット フレーム モード)

Windows C++ アプリケーションに WebKit を埋め込んでいます。カイロ港を利用しています。それは正常に動作します。

クライアント領域に表示できるデータが他にもある場合に表示されるスクロールバーを無効にしたいと考えています。iPhone と同様に、iPhone にはスクロールバーがなく、スクロールの実装が異なります。

C ++でスクロールバーをプログラムで無効にするにはどうすればよいですか(Javascriptハックなし)?


アップデート:

電話してみましたHRESULT IWebFrame::setAllowsScrolling(BOOL flag)。IWebFrame インターフェイスを取得するために、 を呼び出しHRESULT IWebView::mainFrame(IWebFrame **frame)ました。これはうまくいかないようです。スクロールバーは引き続き表示されます。私は何を間違っていますか?ここで私の主な関心事はメイン フレームではないでしょうか。


アップデート:

次のようにフラットフレームモードを有効にしてみました:

コードは正常に実行されますが、何も起こらないようです。ここで何が間違っていますか?


アップデート:

メイン ウィンドウを作成するときに WS_VSCROLL を含めるようにという提案を受け取りました。これはそうではありません:

ありがとう、

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

graphics - Cairo で可変幅ストロークを作成する

カイロの stroke() は、指定された単一の幅のストロークをライン パスに適用します。

さまざまな幅のパスを描画したいと思います (ユーザーが速く描いているときは細く、遅く描いているときは太くします)。これはカイロで可能ですか?

0 投票する
4 に答える
9330 参照

python - CherryPyを使用してHTTP応答で画像を返す方法

私はカイロを生成するコードを持っていますImageSurface、そして私はそれを次のように公開します:

これは機能しません(ブラウザは画像にエラーがあると報告します)。

私はそれがsurface.write_to_png('test.png')機能することをテストしましたが、データを返すためにデータを何にダンプするかがわかりません。ファイルのようなオブジェクトを推測していますか?pycairoのドキュメントによると、get_data()はバッファを返します。私も試しました:

また、このイメージを作成してメモリに保持する(私がやろうとしているように)か、一時ファイルとしてディスクに書き込んでそこから提供する方がよいでしょうか?画像が必要なのは1回だけで、その後は破棄できます。

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

fonts - 利用可能なフォントのリストを取得するクロスプラットフォームの方法

私はパンゴとカイロを使用しています。利用可能なフォントのリストを取得する簡単な方法はありますか? 解決策がかなり単純であれば、別のライブラリを使用しても構わないと思っています。

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

vector-graphics - カイロのマスキング - 何か足りないものはありますか?

だから私はカイロでマスクをセットアップしようとしていますが、違いを生むことはできません. 以下に、http ://snipplr.com/view/22584/cairo-hello-world-examble/ に基づいた簡単なプログラムを示します。

完全に透明なマスクを設定しているため、何も描画されませんが、効果がないように見えます-テキストは引き続き描画されます. 私のコードは以下です。私は何が欠けていますか?

ありがとう!

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

python - 再描画中に Clutter CairoTexture にズームインする

私はpython-clutter 1.0を使用しています

挑戦という形での私の質問

キーを押すことで CairoTexture アクターにズームアップできるようにするコードを記述します。各段階で (cairo によって) アクターを再描画できるようにします。アクターのサイジング。

Inkscape のようなものと、ベクトルを拡大する方法を考えてみてください。どの倍率でもベクトルがきれいに保たれるか。パス (カイロline_toコマンドの束など) を CairoTexture アクターに配置し、同じトリックが発生するようにします。

もっと詳しく

アクターのグループを使用する小さな SVG エディターを目指しています。各アクターは、1 つのパスに専念しています。を使用して「ズーム」しSomeGroup.set_depth(z)、z を大きく/小さくします。これまでのところすべて順調です。ただし、アクターがカメラに近づくほど、新しい見た目のサイズに合わせてテクスチャが引き伸ばされます。

Clutter に両方を実行させる方法が見つからないようです。

  1. アクターの実際のサイズは静的のままにします (つまり、最初のサイズ)。
  2. その下にあるサーフェスを (ズームインして) 大きなものに交換し、パスを再描画できます (そして、カイロ マトリックスを使用してコンテキストのスケーリングを実行します)。

set_sizeまたはを使用すると、意図しないset_surface_sizeようにアクターが大きくなります。表面(基礎となるデータ)を大きくしたいだけです。

(これの用語がよくわかりません。おそらくミップマッピングですか?)

別の言い方をすると、ポリゴンが大きくなり、そのテクスチャ配列のサイズを増やして、より大きなポリゴンにマップできるようにします。

再作成した2 番目のサーフェス (pycairo を使用) をアクターの見かけのサイズget_transformed_size(set_from_rgb_dataアクターの寸法ではなく、表面のサイズです。

これに関する問題は、a) クラッターが新しいサイズを無視し、古い幅/高さにのみ描画されることと、b) RGBA と ARGB32 のようなものが色のメルトダウンを引き起こすことです。

私はどんな代替案にもオープンです。すべての木が欠けている森の中に立っていることを願っています!

\d

0 投票する
9 に答える
109694 参照

python - matplotlib / Python でバックエンドを変更する方法

次の問題で悩んでいます。グラフのコレクションで構成されるレポートを生成する必要があります。これらのグラフはすべて、1 つを除いて、Matplotlib の既定のバックエンド (TkAgg) を使用して作成されています。Cairo バックエンドを使用して 1 つのグラフを作成する必要があります。その理由は、igraph グラフをプロットしていて、Cairo を使用してのみプロットできるためです。

問題は、バックエンドをオンザフライで変更できないことです。たとえば、次のように動作しません:
matplotlib.pyplot.switch_backend('cairo.png') (switch_backend 機能が実験的であることはわかっています)。

私も試しましたが、ステートメントは import の前に来る必要がmatplotlib.use("cairo.png")あるため、これはインポートの問題につながります。しかし、スクリプトの存続期間中に 2 つの異なるバックエンドが必要です。matplotlib.use("cairo.png")matplotlib.pyplot

だから私の質問は、誰かが Matplotlib でバックエンドを切り替える方法を示すコード スニペットを持っているかということです。

本当にありがとう!

更新: matplotlib をロードし、デフォルトのバックエンドを表示し、matplotlib をアンロードし、再ロードしてバックエンドを変更するスニペットを作成しました。

しかし、これは本当にそれを行う方法ですか?

更新 2: 昨日、深刻な脳のフリーズがありました... シンプルで最も明白な解決策は、すべてのチャートに Cairo バックエンドを使用し、バックエンドをまったく切り替えないことです :)

更新 3: 実際にはまだ問題なので、matplotlib バックエンドを動的に切り替える方法を知っている人は誰でも....回答を投稿してください。

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

c - カイロ分割画像

私のgtk+アプリケーションでは、高解像度で画像を分割する必要があります。どうすればカイロで作ることができますか?例はどこにありますか?

ありがとうございました