問題タブ [paint]

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

android - Android TextView での行の最大長

書式設定された 1 行のテキスト (\n なし) を編集不可能な TextView に入れています。プログラムのナビゲーションでは、テキストを変更できます。一部のテキストでは、TextView が 0x0 ピクセルに縮小され、何も表示されません! テキストを毎回 10 文字切り詰めるメニューをいくつか追加したところ、文字数が 4470 を超えると TextView が縮小することがわかりました。

\n を間に入れてテキストを複数行に分割すると問題は解決しますが、それは私の意図ではありません。

これが文書化されているかどうか、またはこの制限を取り除くために設定できるものがあるかどうかを調べるのを手伝ってもらえますか?

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

qt - Qt でペイントされたコンテンツが失われる

私は情報画面プログラムを書いています。フルスクリーン ウィジェットを作成し、その上にコンテンツを描画します。

TFT ディスプレイ デバイスの寿命を延ばすために、ピクセル シフト機能を実装したいと考えています。つまり、 X分ごとに、 Yピクセル分、画面を左/右/上/下にシフトします。

私のアプローチは次のとおりです。

  1. 2 つのレイヤー (2 つの QWidget) を使用します。
  2. 一番上のレイヤーにコンテンツをペイントします。
  3. ピクセルシフトが実行されると、指定されたオフセットの最上層を移動するだけです。
  4. そして、一番下のレイヤーに背景色を塗りつぶします。

ただし、問題が見つかりました:

最上層を 10 ピクセル上に移動すると、10 ピクセルのコンテンツが画面からはみ出してしまいます。しかし、このレイヤーを10ピクセル下に移動すると. 10 ピクセルのコンテンツは更新されず、なくなりました。

これらの 10 ピクセルのコンテンツを保持するにはどうすればよいですか? この問題を解決する魔法のウィジェット フラグはありますか?

更新 1: コードは言語 D で書かれていますが、理解しやすいです。

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

windows - Win32: ウィンドウは、その存続期間全体にわたって同じ HDC を持っていますか?

ペイント サイクル以外で DC を使用することはできますか? ウィンドウの DC は永久に有効であることが保証されていますか?

コントロールのデバイス コンテキスト (DC) が有効な期間を把握しようとしています。

私は私が呼び出すことができることを知っています:

コントロールのウィンドウのデバイス コンテキストを取得することはできますか?

Windows から WM_PAINT メッセージが送信されたら、BeginPaint / EndPaintを呼び出して、ペイントしたことを適切に認識し、無効な領域を内部的にクリアする必要があります。

しかし、BeginPaint を呼び出すと、PAINTSTRUCT 構造内の DC も返されます。これは、私がペイントする必要がある DC です。

BeginPaint() によって返される DC が、GetDC() から取得する DC と同じであるというドキュメントは見つかりません。

特にデスクトップ コンポジションの時代に、BeginPaint 以外で取得した DC にペイントすることは有効ですか?

ペイント サイクル中に DC をペイントする方法は 2 つあります。

  1. DC = GetDC (hWnd);

  2. BeginPaint(&paintStruct);

3 番目の方法がありますが、私が開発している Borland Delphi のバグのようです。

WM_PAINTの処理中に、Delphi は wParam が DC であると認識し、その上に描画を開始します。MSDN によると、WM_PAINT メッセージの wParam は使用されていません。

なぜ

私の本当の目標は、永続的な DC を持つことに依存する GDI+ のより優れたパフォーマンスの機能を使用できるように、永続的な GDI+ グラフィックス オブジェクトを HDC に対して保持しようとすることです。

WM_PAINT メッセージの処理中に、キャンバスに GDI+ イメージを描画したいと考えています。次の nieve バージョンは非常に遅いです。

GDI には、より高速に実行されるビットマップである CachedBitmap が含まれています。しかし、何も考えずに使用すると、パフォーマンス上の利点はありません。

パフォーマンスの向上は、CachedBitmap を 1 回作成することで得られるため、プログラムの初期化では次のようになります。

そして今、ペイントサイクルに:

今を除いて、アプリケーションが実行されている限り、プログラムの初期化後に取得した DC がウィンドウの同じ DC になると信じています。これは、次のように存続することを意味します。

  • 素早いユーザー切り替え
  • コンポジションの有効/無効
  • テーマの切り替え
  • テーマの無効化

ウィンドウが存在する限り、特定のウィンドウに同じ DC が使用されることを保証するものは、MSDN にはありません。

注:私は良い開発者になりたいし、正しいことをしたいので、ダブル バッファリングを使用していません。* 場合によっては、ダブル バッファリングが悪いことを意味します。

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

javascript - Javascript/CSSでPNGのすべてのピクセル(透明を除く)をペイントしますか?

Javascript/CSS で PNG のシルエットを作成する必要があります。これは可能ですか?

私は次のことを試しました: 絶対配置と z-index を使用して、不透明度を下げた PNG を複数回スタックします。これは動作しません。

残念ながら、私は PHP や Javascript や CSS 以外の何かを使用することはできません。

オーバーレイなどのアイデアがいくつかありましたが、その方法がわかりません。任意のヒント?

更新: これは Webkit ブラウザーでのみ機能する必要があるため、Webkit トリックボックスを持参できます。:)

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

multithreading - qtを使用してマルチスレッドでコンテンツをペイントする方法は?

qtを使用してマルチスレッドアプリケーションでコンテンツをペイントしたい。

qtはメインスレッドで実行されます。ペイントタスクを生成し、qtメインスレッドにタスクを送信するためのスレッドBがあります。現在、スレッドBで「mywidget.update」を呼び出しています。メインスレッドで「mywidget.paintEvent(..)」がトリガーされます。

私の問題は、メソッドupdateを使用して「mywidget.paintEvent(..)」に独自のデータを渡すことができないことです。現在、キューを使用してデータを保存しています。ペイントして、paintEventから読み取ります。しかし、私はこのキューを同期する必要があります。

より良い方法はありますか?独自のペイントイベントの登録など。簡単な例やリンクを投稿していただければ幸いです。

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

java - 半透明のフレーム/パネル/コンポーネントに再ペイントします。

OSXでJavaを使用して半透明のウィンドウを作成し、それに追加しようとしてJLabelいます。

これJLabelにより、テキストが1秒ごとに変更されます。

代替テキスト

ただし、コンポーネントはうまく再描画されていません。

どうすればこの問題を解決できますか?

これらの 記事を見つけましたが、解決方法がわかりません。

可能であれば、修正ソースコードを貼り付けてください。これが私のものです。

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

c++ - UpdateWindow() を呼び出した後でもペイント メッセージが失われるのはなぜですか?

次のウィンドウ階層を持つアプリケーションがあります。

W2 で特定のイベントが発生すると、次のように呼び出しますUpdateWindow

W2のOnPaint処理は次のようになります。

しかし、W2 でペイント メッセージが失われることがあります。UpdateWindow呼び出されますが、呼び出される対応するOnPaint()はありません。

プロパティを W1 (W2 の親) に追加するとWS_EX_TRANSPARENT、常にペイント メッセージが W2 で受信されます。

しかし、WS_EX_TRANSPARENTフラグを追加する際の問題は、ウィンドウ W1 のサイズを変更すると、多くのちらつきが発生することです。

私の質問は次のとおりです。 1. ペイント メッセージが失われる W2 の何が問題なのですか? 2.追加WS_EX_TRANSPARENTするとペイントの問題が解決する理由。3. フラグが使用されている場合、ちらつきの問題を解決するにはどうすればよいですか。

ありがとう、

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

java - CLONE JPanelのpaint()はどうですか?

クローンJPanelでどのように再描画できるかは誰でも知っています。CLONEを使用しているので、一方をREPAINT()でき、もう一方も同じことを自動的に実行します。

私のコードは、マウスをオリジナルまたはクローンパネルで動かした場合にのみ、オリジナルのJPanelをペイントします。

しかし、クローンパネルでマウスを動かすと、このjpanelはペイントされません。

前もって感謝します

コード:

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

qt - QTでボタンのペイントイベントを取得する方法

私はQTを初めて使用します.QTでボタンペイントイベントを取得する方法のサンプルをたくさん検索してみました..私はそれを行う方法を取得していません..

QT でプッシュボタンのデリゲートを設定する方法は? プッシュボタンのペイントイベントを取得するには?

私は非常に多くの記事を読みましたが、カスタマイズできるボタンのペイントイベントも取得できると書かれています。しかし、ペイントイベントを取得する方法のコードを取得できませんでした..

私はこのサンプルを実行しようとしましたが、サブクラス化によってまだイベントを取得していません。どこが間違っているか教えてください

まだイベントを取得できません。

これで私を助けてください。

ありがとう

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

java - ペイントするAWTコンポーネントに透明なJPanelを追加します

問題があります。Javaアプリケーションに、aviファイルをストリーミングして表示するAWTコンポーネント(変更できません)があります。さて、この映画を参考にして、その上に透明なJPanelを置いて、その上に描くことを考えました。

avi-streamまたは描画された線のいずれかが表示されますが、両方は表示されないため、これは機能しません。

AWTはコンポーネントの透過性をサポートしていないことをどこかで読みましたが、パネルはサポートできるJPanelです。

誰かがこれを手伝ってくれませんか?よろしくお願いします。