問題タブ [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.
graphics - 小さなウェブサイトの画像にはどのフォーマットを使用しますか? GIFまたはPNG?
Web サイトの小さなアイコンやヘッダー グラフィックなどを作成する場合、GIF と PNG のどちらを使用するのがよいでしょうか?
明らかに、透明効果が必要な場合は、PNG が最適です。より大きく、より写真の多い画像の場合は JPEG を使用しますが、通常の Web の「家具」の場合は、どちらをお勧めしますか?またその理由は? それは私が使用しているツールかもしれませんが、GIF ファイルは通常、同等の PNG よりも少し小さいように見えますが、それらを使用すると 1987 年のように見えます.
pdf - 構造化データから PDF を生成
データベース、xml、またはその他の構造化された形式のデータから、非常にグラフィカルな (テキスト コンテンツも多い) PDF ファイルを生成できるようにしたいと考えています。
現在、当社のグラフィック デザイナーは、コンテンツを MS Word ドキュメントとして取得した後、Photoshop でこれらの PDF ファイルを手動で作成しています。しかし、通常、コンテンツには 20 を超えるリビジョンがあります。所々の小さな変更、スペルの修正など。
2 つの欠点は次のとおりです。1) グラフィック デザイナーの時間が不必要に占有されます。最初のバージョンは、彼/彼女が取り組まなければならない唯一のものです。2) PDF ファイルは最終的に改訂されたコンテンツを持つドキュメントになり、最初のコンテンツはそれと同期していません。そのため、最初のコンテンツを別の場所 (Web サイトなど) に配置する必要がある場合は、PDF ファイルから再作成する必要があります。
PDF ファイルを生成すると、これらの問題の両方を解決するのに役立ちます。おそらく、グラフィックデザイナーが「テンプレート」を作成し、タグ/ホルダーを配置して、これらのタグ/ホルダーを関連データにマップする何らかの方法です。
ありがとう :-)
c++ - Win32 で Pango を初期化するには?
GTK+ プロジェクトの Win32 ダウンロードページから Pango と GLib をダウンロードし、Visual Studio 2005 で Win32 プロジェクトを作成して構成し、適切なlibおよびincludeディレクトリを指すようにした後、Win32 ウィンドウにレンダリングするために Pango を初期化するにはどうすればよいでしょうか?
最初の呼び出しはpango_win32_get_context()にする必要がありますか? その関数を呼び出すと、関数が返されないため、アプリケーションはその呼び出しでハングアップします。
最初の呼び出しは何ですか?Pango for Win32 を初期化し、単純なテキスト文字列をレンダリングするには、他にどのような呼び出しが必要ですか? Win32 で Pango を使用してレンダリングするオンラインで利用できる例はありますか?
python - グリッド コードへのスナップの何が問題になっていますか?
まず第一に、グリッドへのスナップはかなり簡単だと確信していますが、この状況で奇妙な問題に遭遇し、数学が弱すぎて具体的に何が悪いのかを特定できません.
状況はこちら
私はグリッドの抽象的な概念を持っており、Y ステップが正確に Y_STEP 離れています (x ステップは正常に機能しているため、今のところ無視してください)。
グリッドは抽象的な座標空間にあり、物事を整列させるために、そこに魔法のオフセットがあります。それを Y_OFFSET と呼びましょう
グリッドにスナップするには、次のコードを取得しました (python)
そのため、カーソル位置、Y_OFFSET、および Y_STEP をその関数に渡すと、グリッド上の最も近い床の y 位置が返されます
元のシナリオでは問題なく動作しているように見えますが、ビューがスクロール可能であるという事実を考慮すると、少し奇妙になります。
スクロールは可能な限り基本的に行われます。Y 軸に沿ってスクロールされた距離をカウントし、それを通過するすべてのものをオフセットする viewPort があります。
カーソルの mouseMotion コードのスニペットを次に示します。
1 つ目は Scroll モジュールのピクセル位置から抽象座標空間への変換、次に抽象座標空間の値を取得して最も近い Y ステップにスナップするツールの positionChanged 関数です。
関連するスクロールコードは次のとおりです
そして、ツールはコードを更新します
最後に関連するチャンクは、ツールが自分自身をレンダリングするときです。ツールのスナップされた座標空間位置を画面上のピクセル位置に変換する Scroll オブジェクトを通過します。コードは次のとおりです。
うーん、説明が長かった。あなたがまだ私と一緒にいることを願っています...
私が今得ている問題は、上にスクロールすると、描画された画像がカーソルとの位置合わせを失うことです。
カーソルのちょうど 1 ステップ下の Y ステップにスナップし始めます。さらに、アラインメントから段階的に出たり入ったりしているように見えます。
一部のスクロールでは 1 アウトで、他のスクロールでは問題ありません。
1 を超えることはなく、常に有効なグリッド位置にスナップしています。
私が思いつくことができる最善の推測は、どこかで間違った場所でいくつかのデータを切り捨てているということですが、どこでどのようにこの動作になるのかわかりません。
座標空間、スクロール、スナップに詳しい人はいますか?
.net - 異なるスレッドでコンポーネントを更新する方法は? .NET CF
PDA に地図を表示する .NET Compact Framework アプリケーションをプログラミングしています。
全体図を構成するこのコンポーネントのいくつかを使用して、マップ全体の独自の部分を描画するアドホック コンポーネントを作成しました。1 つのステップでマップ全体をペイントする際の待ち時間を避けるために、このようにしました。
ここでやりたいことは、この部分を独自のスレッドにペイントして、マップが 1 つのエンティティとして成長しているように見せ、(さらに重要なことに) ユーザー インターフェイスの残りの部分がフリーズしないようにすることです。
マップの各部分が onPaint メソッドでペイントされていることを正しく知っています。私の考えは、どういうわけか、システムに「このコードをスレッドで実行してください」と伝えることです。
何かのようなもの:
これを行う方法を知っていますか?それとも私のアプローチは単に間違っていますか?
御時間ありがとうございます!
math - 任意の回転における 2 つの放物線の交点のコードまたは式
任意の回転で 2 つの放物線円弧の交点を見つける必要があるジオメトリの問題に取り組んでいます。平面を回転させて円弧を軸に揃えることで、直線と放物線の円弧を交差させることができましたが、2 つの放物線を両方とも軸に揃えることはできません。式の導出に取り組んでいますが、これに使用できるリソースが既にあるかどうかを知りたいです。
algorithm - 線から特定の垂直距離にある点をどのように見つけますか?
ウィンドウに描画する線があり、ユーザーにドラッグさせます。したがって、私の線は(x1、y1)と(x2、y2)の2つの点で定義されます。しかし、ここで、線の端に「キャップ」を描画します。つまり、各端点に短い垂線を描画します。キャップの長さはNピクセルである必要があります。
したがって、終点(x1、y1)に「キャップ」ラインを描画するには、垂直線を形成し、各ポイントがポイント(x1、y1)からN/2ピクセル離れている2つのポイントを見つける必要があります。
では、既知の線、つまり(x1、y1)とで定義される線の終点(x1、y1)から垂直距離N / 2にある必要がある場合、点(x3、y3)をどのように計算しますか? (x2、y2)?
python - Pythonで特定のピクセルのRGB値を読み取る方法は?
で画像を開いた場合open("image.jpg")
、ピクセルの座標があると仮定して、ピクセルのRGB値を取得するにはどうすればよいですか?
次に、これを逆にするにはどうすればよいですか?空白のグラフィックから始めて、特定のRGB値でピクセルを「書き込み」ますか?
追加のライブラリをダウンロードする必要がない方がいいと思います。
java - Javaでフルスクリーンモードをプログラムする方法は?
アプリケーションをフルスクリーン モードにしたいと考えています。これを行う最も簡単な方法は何ですか。これにはサードパーティのライブラリが必要ですか、それとも JDK にすでにこれを提供しているものがありますか?
windows - GDI が高速化されました。これがいつ起こったのか知っている人はいますか?
この質問の背景を簡単に説明すると、職場では Dell Precision ワークステーションを使用しています。私の現在のものはNVidia Quadro FX1700を持っています。私のチームは、リアルタイム データ取得システム用のグラフィックス コンポーネントを開発しています。そのため、グラフィック操作が CPU 時間を使いすぎていないかどうかを常に確認しています。簡単なチェックのために、いくつかのテスト プログラムを実行して、指定されたレート (たとえば 10 fps ) でシーンを描画し、従来のタスク マネージャーを使用して CPU 使用率を確認します。これらのプログラムの 1 つは、GDI の DrawRectangle 呼び出し (塗りつぶされている) に重きを置いています。このプログラムは常に約 40% の CPU ユーザー時間を消費していましたが、約 1 年ほど (ここで推測するだけです) 約 2-3% のカーネル時間しか使用していません。明らかに、ハードウェア アクセラレーションがここで行われています。実際、HW アクセルをオフにすると、元の 40% のユーザー時間に戻ります。もちろん、これはすべて朗報です。OpenGL への移行をすでに考えていたからです。毎年、GDI はハードウェア アクセラレーションの恩恵を受けませんでした。少し前まではそうです。
これについてもっと知っている人はいますか?マイクロソフトはこれを行いましたか? それともgfxカードのベンダー固有ですか?
編集
すでに回答が寄せられていますが (Ferrucio、Torlack、Rob Walker)、私の質問にはまだ回答がありません。ここでは、塗りつぶされた四角形について話しています。おそらく、最適化する最も簡単な機能です。GPU にいくつかの座標を送信し、リッピングするだけです。それでも、それは常に CPU 側で実装されていました。これまでの回答から、NVidia がついに (10 年以上経って) 光を見て、GDI を加速したと信じるようになりました。そして、これについての発表はありませんか?これに関しては全く情報がありません。社内の顧客からグラフィックスの高速化について尋ねられますが、私が言えるのは「運が良かった」ということだけです。
編集2
さまざまな回答によると、ドライバーに関連しているようです。そのため、NVidia は何年にもわたってワークステーション カード用の粗悪な GDI ドライバを作成してきました。GDI が高速化されていないことは、社内で認められた事実であり、すべてのテストでこれが確認されました。