問題タブ [drawing2d]

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 投票する
4 に答える
2022 参照

algorithm - ポイントの対数プロット

2Dポイントの数を指定するかどうか疑問に思っていました.対数yスケールで画面上のポイントを描画する場所をどのように計算しますか?

ポイントのすべてのy値の対数を取り、それらを「通常」にプロットしようとしました(プロットポイント[x、log(y)] =>高さ:高さ*ログ(y)/ログ(最大)) . しかし、このアプローチは 1 未満の y 値に対して問題を引き起こします。したがって、これは、私の方法が一般的に正しいアプローチであるかどうか疑問に思います。私が使用できる微調整は、log(y) の代わりに log(y/min) を使用することです。

改善またはより良いアプローチに関するアドバイスは大歓迎です!

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

drawing - CairoはGDKとどのように関連していますか?

GDKライブラリの機能は正確には何ですか?Cairoはどのように適合しますか?それらは競合するテクノロジーですか、それとも補完的なテクノロジーですか?それらの1つは何らかの形で他に依存していますか?

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

java - gwt g2d:ie8のdrawImage

いくつかのキャンバス機能を実装するために、g2dとgwtを使用しています。gwt(バージョン2.4.0を使用)によって提供されるキャンバスの実装はie8でサポートされていないため、少なくともそれは私が経験できることであるため、前述のグラフィックライブラリに変更することにしました。

この問題は、base64イメージを描画しようとすると発生します。次のコードを送信します。

これはIE9ではうまく機能しますが、IE8では機能しません。画像を描画しているにもかかわらず、表面は空白の正方形を配置します。

ご存知かもしれませんが、g2dはexcanvas.jsの実装であり、drawImageを呼び出した後、「無効なponinter」jsエラーが発生します。

前もって感謝します!

編集:

javascriptを見ると、次のエラーが発生しました。

これは、描画が完了する直前のexcanvas.jsコードの一部です。「無効なポインタ」エラーを取得しているのはimage.srcであり、base64がその属性に割り当てられていないようです。

0 投票する
7 に答える
10235 参照

c - エイリアシング アーティファクトを回避するために、ピクセル単位で完璧な三角形の塗りつぶしアルゴリズムが必要です

数学的画像分析を視覚化するためのユーザー インターフェイス コードで誰かを支援しています。このプロセスでは、2D 形状の一部を三角形に分割し、UI でこれらの三角形の一部を塗りつぶします。

2 つの三角形がエッジを共有している場合 (具体的には、三角形の 2 つの頂点が同一である場合)、描画順序とエイリアシングに関係なく、線上に空白の未描画ピクセルが存在しないことを保証する塗りつぶしアルゴリズムを探しています。ふたつの間に。(一部のピクセルが 2 回描画されても問題ありません。) 結果は、任意のスケーリングで問題なく表示されるはずです。一部の三角形は、幅が 1 ピクセルまでの非常に薄いスライバーである場合があります。

理想的には、適度に効率的な塗りつぶしアルゴリズムであるべきです!

最終イメージは 1 ビット深度である必要があるため、三角形のレンダリングではアンチエイリアシングは使用されません。

コンテキストは画像認識アプリケーションであるため、すべての頂点座標は 1 ピクセルの精度になります。

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

java - 2つの数字と中心からの等距離を描画しようとしています

対称的に見せたいのですが、なぜうまくいかないのかわかりません。

前もって感謝します。

自分

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

android - ズームとダーグでパスを描く

画像を貼り付けたり、キャンバスに絵を描いたりするアプリケーションを開発しています。このアプリは、キャンバスを拡大/縮小したり、別の場所にドラッグしたりすることもできます。私の問題は、キャンバスを拡大縮小またはドラッグした後、正しいキャンバス座標を取得できないことです。キャンバスを拡大縮小またはドラッグした後にフィンガーペイントを描画したいのですが、タッチした正しい場所を取得できません...

}

ユーザーがビットマップをズームすると、その上に描画できなくなります。ズームした後、適切な場所で描画が行われません。

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

.net - System.Drawing.Drawing2D.Matrix が MarshalByRefObject から派生するのはなぜですか?

軽量構造体ではなくMatrix、重量クラスが派生するのはなぜですか?MarshalByRefObject

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

.net - .net 多くの形状をパネルに描画するときの点滅効果 (最適化が必要)

ボックスをドラッグしてそれらの間に接続線を引くことができるこのタイプのインタラクティブなアートワークを実現するために、以下のコードを使用しています。

ここに画像の説明を入力

基本的に、(ボックスを移動するために) マウスがドラッグされているとき、または新しいボックスをクリックしてパネル上で新しい選択が行われているときは、パネルをクリアし、すべての四角形、すべてのテキスト、およびタイマーを使用してすべての線の接続を描画します ( 1秒間に約20回)。ただし、これはパネル コンポーネントの再描画が非常に遅く、非常に迷惑な点滅効果をもたらします。このコードを最適化する方法はありますか? / 図面を効率化するには?

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

java - 線を描く最良の方法Java

GUI を作成したり、Java で描画したりしたことがなく、線を効率的に描画する方法が必要です。私のアプリでは、ユーザーに 8 つのボタンが提供されます。ボタンが押されると、ボタンが押された時間に対応するウィンドウに線が描画されます。現在、jpanel で paintComponent 関数をオーバーライドし、125 ミリ秒ごとに paint() 関数を呼び出しています (描画する幅が 240 ピクセルしかないため、その 240 ピクセルで 30 秒分の記録を維持したいと考えています)。それが実行されているハードウェアは追いつくことができず、ひどい/非常に途切れ途切れに見えます. 私が使用しているコードは次のとおりです。

getItem(int) は、特定のボタンの情報を返します。getStartTime(int) は、ボタンが押された特定の期間の開始時刻を返します。getStopTime(int) は、ボタンが押されたときの特定の期間の停止時間を返します。pix = パネル上の現在のピクセル (したがって、タイムラインの 30 秒の 15 秒後であれば、pix は 120 になります)

最後に、125ms ごとに jpanel1.paint() を呼び出すタイマーがあります。

これを行うためのより良い方法はありますか、または他の提案はありますか? 私は実際の描画経験がないため、詳細な情報/ソースを提供してください. 前もって感謝します!

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

algorithm - 二分木を描画する位置を設定する

次のようなグラフィカルフレームワーク(Qt)でバイナリツリーを描画したい:

しかし、すべてのノードにXとYを設定するのに問題があります.設定と固定位置について何か考えはありますか? (私はすべてのノードと左子と右子の高さだけを持っています)