問題タブ [gfx]

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

c++ - PROGMEM なしの Adafruit gfx ライブラリ drawBitmap

したがって、画像のバイト配列を外部eeprom(c24LC16B)に入れ、Adafruit gfxライブラリのdrawBitmap()関数を使用して、Nokia 3310 LCD(Adafruit PCD8544ライブラリを使用)に描画しようとしています。しかし問題は、drawBitmap() が静的バイト PROGMEM 配列しか使用できないことです。が悪いので、img 配列を eeprom からバッファ (バイト buf[504]{}; ) に読み取ってから、ディスプレイに描画する必要があります。

これをAdafruit_GFX.ccpに追加するなど、オンラインで見つけたいくつかの変更を試みました。

それでもゴミしか表示されませんでした

では、なぜ PROGMEM と通常の配列についてそれほど大きな問題があるのでしょうか? PROGMEM からのバイトと SRAM からのバイトは同じではありませんか? また、私の文法について申し訳ありません。

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

c++ - C/C++ で SDL2_gfx を使って黒丸を描く

SDL初心者です。SDL2で黒い背景とその上に塗りつぶされた青い円を描きたいです。SDL2 では円を描く方法がないので、 SDL2_gfx を使用します。黒い背景を描くのは問題ありませんが、関数filledCircleRGBAで円を描くには至りません。

Debian GNU/Linux 8 "Jessie" で実行しており、ディストリビューションの libsdl2-dev と libsdl2-gfx-dev を使用しています。コンパイルするには、 を使用しますgcc -O0 -g sdl2-test.c `sdl2-config --cflags --libs` -lSDL2_gfx

さらに、valgrind は、21 のコンテキストから 21 のエラーがあることを通知します。3 つのエラーは SDL2 呼び出しから発生し、19 は nouveau_dri.so から発生するため、nouveau ドライバー (nVidia GPU のフリー/リブレ ドライバー)によって使用される共有ライブラリであると思われるため、これは私のせいではない可能性があります。

ありがとう。

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

c++ - SLD2: SDL2_gfx と AntTweakBar を使用した OS X での奇妙なレンダリング エラー

私は3つのことをレンダリングしようとしています:

  • gfxPrimitives を使用した幾何学的形状 (この例では円)
  • 画像/テクスチャ (オプション)
  • AntTewakBar を使用した GUI (ここから OS X 上の SDL2 用にコンパイル)

これらはそれぞれ単独では問題なく動作しますが、それらを組み合わせると、組み合わせによっては AntTweakBar が何らかの形で壊れます。

  1. AntTweakBar のみ: すべてを適切にレンダリングします 円とテクスチャがなくても問題なく動作します
  2. AntTweakBar + Texture : TestBar でテキスト以外のすべてが消えました。マウスは以前と同じ位置にありますが、「幅」が強調表示されておらず、すべての「アイコン」が欠落しています。どういうわけか、「ヘルプとショートカット」バーの背景は生き残った。テクスチャを再度削除しても何も変わりません。円を追加すると、ケース3につながります しかし、これをファック
  3. AntTweakBar + Circle (+Texture) : テキスト以外のすべてがレンダリングされ、テキストがボックスに変わります。テクスチャを追加したり、円を再度削除したりしても何も変わりませんが、最初に円を削除してからテクスチャを追加すると、ケース2につながります。 そしてそれ

これは、このテスト アプリケーションの (乱雑な) ソース コードです。ここres_path.hここcleanup.hで見つけることができます(ただし、問題ではありません)。


何が起こっているのか、これを修正または回避する方法を知っている人はいますか? そうでない場合は、SDL2/C++ で単純な幾何学的形状と GUI (いくつかのパラメーターを構成するため) をそれほど労力をかけずにレンダリングするための別のアプローチを誰かが推奨できるかもしれません。

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

rust - 貨物、ワークスペース、および一時的なローカル依存

1 つの貨物ワークスペースに my_project と my_inner_project の 2 つのプロジェクトがあります。どちらも gfx (および gfx_core と gfx_device_gl) に依存しています。gfx_device_core にバグが見つかったので、フォーク、クローン、ローカルでパッチを適用し、コミットする前にテストしたいと考えています。

プロジェクト構造:

ここで、my_project のビルド中に cargo で gfx のローカル コピーを使用するようにします。

  1. 最初のアプローチ (Cargo.toml のローカル パス): すべての gfx パッケージのソースを両方のプロジェクトの Cargo.toml のローカル パスに変更しました。 「パス」が指す依存関係はワークスペースの一部ですが、ワークスペース メンバーはファイル システムのワークスペース ルートの下に配置する必要があります。そのため、プロジェクトのビルドを拒否し、gfx* がワークスペースの一部であると不平を言いますが、ワークスペース ルートの下にはありません。私の知る限り、現在、この暗黙の「すべてがワークスペースにある」動作を変更する方法はありません。
  2. 2 番目のアプローチ ([replace]): このアプローチでは、上記と同じ動作が発生します。[replace] 内で指定されたパスも暗黙的にワークスペースに追加されます。
  3. 3 番目のアプローチ (ローカル パスのオーバーライド): .cargo/config のパスに gfx を追加しました。また、オーバーライドされたパッケージのバージョンと .toml で参照されるバージョンが一致する必要があるため、.tomls の gfx パッケージのソースを crate.io から git リポジトリに変更する必要がありました。これは、安定した錆 1.13 でも機能しません。警告が表示されます:

    そしてエラー:

    プロジェクト内の Cargo.toml で指定された gfx とリポジトリのローカル コピーは同一であるため、この警告が出力される理由がわかりません。

    エラーはさびナイトリーで修正されているので、インストールして、最終的にローカル gfx コピーでプロジェクトをコンパイルすることができました。

そのため、比較的基本的なタスクに苦労して 1 日を過ごした後、私は解決策を見つけました。これはナイトリーでのみ機能し、機能リリースでは機能しないと約束しています。

私の質問:

  1. それはどのように行われるべきですか?
  2. この警告を取り除く方法は?