問題タブ [graphics]

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

c++ - C++ で Mac OS X のメイン モニターの解像度を取得するにはどうすればよいですか?

Mac OS X で起動するディスプレイの解像度をテストして、解像度よりも大きくないことを確認する必要があるグラフィカル アプリがあります。これは、ウィンドウ自体が初期化される前に行われます。

複数のディスプレイがある場合は、それをプライマリ ディスプレイにする必要があります。これは、ハードウェア アクセラレーション (OpenGL) アプリがフル スクリーンで起動するディスプレイであり、通常は上部にメニュー バーがあるディスプレイです。

Windows では、GetSystemMetrics() を正常に使用できます。OS Xでこれを行うにはどうすればよいですか?

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

linux - カラー キャリブレーション データを TIFF または PNG ファイルに書き込む

64 ビット Linux/GNU 上で動作する自作の自作写真処理ソフトウェアは、PNG および TIFF ファイルを書き出します。これらは高品質の印刷所に送られ、美術品になります。インテリア デザイナーとの共同作業 - 色を適切に調整することが重要です。

Photoshop などの商用ソフトウェアで作成された TIFF や PNG は、通常、プリント ショップでは問題ありません。TIFF 6.0 仕様、PNG 仕様、およびその他の情報を手元に持っていますが、Linux でカラー キャリブレーション データを含める方法やカラー マネジメント システムを実装する方法が明確ではありません。私のファイルは、修正を行うための十分なエラーレポートがないため、欠陥があるとして拒否されることがよくあります。

これは、多くの人にとってしばらく厄介な問題でした。ハリウッドのポストプロダクション スタジオの担当者でさえ、この問題に苦しんでいます。あるスタジオは、私が専門家だと思って、カラー キャリブレーションの世話をするために私を雇いたいとさえ思っていました。

誰かが良いコード例、詳細な技術情報を知っているか、または他の啓発を持っていますか? それとも純粋な Apple に切り替える時が来たのでしょうか?

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

java - Java 2D 描画の最適なパフォーマンス

Java 2D ゲームを作成中です。私は組み込みの Java 2D 描画ライブラリを使用して、JFrame の Canvas の BufferStrategy から取得した Graphics2D に描画しています (これは時々フルスクリーン表示されます)。BufferStrategy はダブル バッファリングされます。再描画は、タイマーを介して積極的に行われます。ただし、特に Linux では、いくつかのパフォーマンスの問題があります。

Java2D には、グラフィックス バッファを作成し、グラフィックスを描画する方法が非常に多くあるため、自分が正しいことを行っているかどうかわかりません。私は、有望に見えるgraphics2d.getDeviceConfiguration().createCompatibleVolatileImageを試してきましたが、描画コードをそれに切り替えればもっと速くなるという本当の証拠はありません。

あなたの経験では、Java 1.5+ で 2D グラフィックスを画面にレンダリングする最速の方法は何ですか? ゲームはかなり先のことなので、OpenGL やゲーム エンジンなど、まったく別の描画方法に切り替えたくありません。私は基本的に、Graphics2D オブジェクトを使用して画面に描画する最速の方法を知りたいと思っています。

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

c# - GDI+ で 2 つの線の交点を特定するにはどうすればよいですか?

私は .NET を使用して、Visio に似た描画面を持つアプリケーションを作成しています。UI は、画面上の 2 つのオブジェクトを Graphics.DrawLine で接続します。この単純な実装は問題なく機能しますが、表面がより複雑になるにつれて、オブジェクトを表現するためのより堅牢な方法が必要になります。これらの堅牢な要件の 1 つは、2 つの線の交点を決定することです。これにより、何らかのグラフィックで分離を示すことができます。

だから私の質問は、誰かがこれを行う方法を提案できますか? おそらく、別の手法 (GraphViz など) またはアルゴリズムを使用しているのでしょうか?

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

graphics - 多数のピクセルのアルファブレンディングの式は何ですか?

多数の RGBA ピクセルがあり、それぞれにアルファ コンポーネントがあります。

したがって、ピクセルのリストがあります: ( p0 p1 p2 p3 p4 ... pn ) ここで、 p_0_ は前面ピクセルで、 p_n_ は最も遠い (背面)。

最後の (またはいずれかの) ピクセルは必ずしも不透明ではないため、結果として得られるブレンドされたピクセルも何らかの形で透明になる可能性があります。リストの最初から最後までブレンドしていますが、その逆ではありません (はい、レイトレーシングです)。そのため、いつでも結果が十分に不透明になった場合、十分に正しい結果で停止できます。この方法で混合アルゴリズムを適用します: (((( p0 @ p1 ) @ p2 ) @ p3 ) ... )

R、G、B だけでなく、A 成分の正しい配合処方を教えてください。

UPD : 色をブレンドする決定されたプロセスで、多くの数式を使用できるのはどうしてでしょうか? ある種の近似ですか?私にとっては、これはおかしいように見えます。数式は、実際に効率や最適化が得られるほど違いはありません。誰でもこれを明確にできますか?

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

opengl - 手描きの図形をレンダリングする最良の方法

例を挙げて説明すると思います。このゲームでは、マウスを使用して 2D 形状を描くことができ、描いたものがリアルタイムで画面にレンダリングされます。ハードウェア アクセラレーション (OpenGL) を使用してこのタイプの描画をレンダリングする最善の方法を知りたいです。私には2つのアイデアがありました:

  • 描画開始時に画面サイズのテクスチャを作成し、描画時にこれを更新し、これを画面にブリットする
  • 図面を表す一連の線分を作成し、線または細いポリゴンを使用してこれらをレンダリングします

他のアイデアはありますか?これらの方法のうち、最良/最も効率的/最も簡単である可能性が高いのはどれですか? どんな提案でも大歓迎です。

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

java - Java での 2D シミュレーション プロジェクト用の適切なツールキットの選択

Java でエレベーター シミュレーション用の 2D グラフィックスを含むウィジェットを設計できるツールキットを探しています。作成されたウィジェットは、SWT、Swing、または QtJambi フレームワークと統合されます。

背景情報:

私は楽しみのためにエレベーターシミュレーターを開発しています。私の主な目標は、Java、Eclipse IDE、そしてさらに重要な並行処理に関する知識を増やすことです。それは確かに楽しく、私はこのState Machine Patternの実装を楽しみました。

とにかく、私はエレベーターを画面に表示し、コンソールでの操作をログに記録することに限定したくないところです。

UI コントロールにはおそらく SWT、Swing、または QtJambi を選択しますが、シミュレーションのグラフィカルな部分をどうするかを考えています。

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

silverlight - グラフィックプログラミングを再学習するのに最適な場所はどこですか

Sliverlight に関して考えてみると、3D 空間、変換、行列操作、およびその他すべての優れた機能について復習するには、どこに行けばよいか知りたいと思います。

0 投票する
6 に答える
10681 参照

graphics - 射影変換

2 つの画像バッファー (サイズが幅 * 高さの int の配列で、各要素が色の値であると仮定します) で、四角形で定義された領域を一方の画像バッファーから他方の (常に正方形の) 画像バッファーにマップするにはどうすればよいですか? これが「射影変換」と呼ばれるものであることがわかりました。

また、「私のためにすべての作業を行う魔法の関数 X」に依存することなく、任意の言語に合理的に適用できるように、これを行う一般的な (言語固有またはライブラリ固有ではない) 方法を探しています。

例: カメラからビデオをキャプチャする処理ライブラリ (processing.org) を使用して Java で短いプログラムを作成しました。最初の「調整」ステップで、キャプチャされたビデオがウィンドウに直接出力されます。次に、ユーザーは 4 つのポイントをクリックして、変換されるビデオの領域を定義し、その後のプログラムの操作中に正方形のウィンドウにマッピングします。カメラの出力で斜めに見えるドアの角を定義する 4 つの点をユーザーがクリックした場合、この変換により、後続のビデオでドアの変換された画像がウィンドウ全体にマッピングされますが、若干歪んでいます。

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

javascript - John Resig の Processing.js を使用するのは合理的ですか?

JavaScript/キャンバスをかなり頻繁に使用する Web サイトを作成することを考えていて、Processing.jsを見てきましたが、キャンバスの操作が大幅に簡単になるようです。Processing.js を使用してはいけない理由を知っている人はいますか? 古いブラウザーでは使用できないことは理解していますが、今のところは問題ありません。