問題タブ [tcanvas]

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

delphi - Canvas.LineTo の行末スタイルの設定

TCanvas.LineTo メソッドの線端のスタイルを設定する方法はありますか? Pen.Width が大きな値 (9 など) に設定されている場合、異なる色の行に複数の行が表示されると、デフォルトで丸みを帯びた端になるようです。

次のようになります (端が丸くなっています)。

(* は青色、. は黄色)

中央の線の後に外側の 2 つの線が引かれると、さらに悪化します。

私はそれがこのように見えることを望みます(ストレートエンド):

Pen はこれに対する設定を提供していないようで、LineTo メソッドも提供していません。私が呼び出すことができるWindows API関数はありますか?

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

delphi - TCanvas (delphi) の textOut の色を変更するにはどうすればよいですか?

TCanvas を使用してテキストを描画していますTextOut()が、別のテキストの色が必要です。

私に何ができる?

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

delphi - Delphi で TCanvas の色を置き換えるにはどうすればよいですか?

Delphi XE2 で TCanvas の色を置き換えるにはどうすればよいですか? 次のコードは非常に遅く動作します。

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

delphi - ジャストインタイムでキャンバスを再描画するには?

問題は次のとおりです。マウスの移動中にデスクトップに長方形を描画します(長方形のサイズが大きくなります)ラグやアーティファクトなどはありません。すべて問題ありません: ここに画像の説明を入力

しかし、四角形のサイズをビードよりも小さくすると、次のアーティファクトが発生します。 ここに画像の説明を入力

赤い四角形は実際の四角形で、その他はすべてバグです。

完璧な解決策はキャンバスを再描画することですが、マウスが動いている間は常にそれを行うことはできません.

移動後にマウスが絶対停止したときに解決策はありますか?

アップデート

コード:

{ Form props: BorderStyle= bsNone AlphaBlend true, 150 Transparentcolor = true, clBlack }

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

c++ - ベクトルを別のクラスに渡すと、ROOT でしか TCanvas ベクトルの最後の要素を別の TCanvas ベクトルに設定できないのはなぜですか?

問題

プログラムの本質的に「モデル」部分から「ビュー」部分に TCanvas を動的に渡したいと考えています。私がこれを行うことを考えた方法は、起動時にビューで TCanvas を作成し、グラフがいっぱいになったらビュー TCanvas でこの TCanvas を更新することでした。テストベンチを作成して、動作するかどうかを確認しました。

動作するメソッドと壊れたメソッドを表示しました。

私は QT-ROOT を使用しています。TQtWidgetは、本質的に TCanvas に戻るカスタム ウィジェットです。

マイキャンバスの設定

この作品

対応する出力:

作業方法

グラフの順序が間違っていますが。

これは動作しません

このメソッドを別のクラスに転送し、シグナル/スロットを介して TCanvas を渡します。

グラフ データは次の場所に送信されます。

これは、このメソッドの出力です。

試行 2

現時点で確認できる唯一のエラーは、SetupTab で次のように表示されることです。

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

c++ - コンパイル済み ROOT (CERN) アプリケーションで TCanvas を画面にペイントする

画面に描画するためのルールは何ですか?

私の最終的な目標は、TCanvas をクラスに入れ、そこから描画することですが、今のところ、あまり複雑でない例を見ると役立つかもしれないと思います。以下は、私のコンピューターでコンパイルして画面に描画するコードです。

コメントアウトされた行があることに気付くかもしれません。これらの の定義のいずれかを使用すると、後で呼び出されるメソッドとメソッドでcanvas適切なメンバー アクセス演算子を使用すると、空白の TCanvas ウィンドウを画面に出力した後にアプリケーションがクラッシュします。また、ポインターを変更するとクラッシュします。UpdateDrawapph

なんらかの ROOT オブジェクトを使用してクラスをインスタンス化しようとすると、アプリケーションがクラッシュします。

現在、MSVC++ でコンパイルしcl.exelink.exe. 私は64ビットのWindows 7 Enterprise Nで作業しています.Unixで構築したアプリケーションを移植しようとしていnew TApplication("name",0,0);ますmain.

繰り返しになりますが、この OS やその他の OS でヒストグラムを画面に表示するにはどうすればよいでしょうか? 「なぜ」を理解できるかどうかは疑問ですが、これを読んで理解できる他の人のために、それについて何か書くといいかもしれません. それ以外の場合は、これらのオブジェクトを使用してペイントする方法を段階的に説明するだけでも素晴らしいでしょう.

これについて助けてくれてありがとう。それが有用であることが判明した場合、私は喜んでより多くの情報/例を提供します.


更新:次のようなものでコンパイルすると、私の特定のケースで機能します

理由がわからない。

https://root.cern.ch/phpBB3/viewtopic.php?f=3&t=3402&p=85329&hilit=Vector+stl+of+TH1F *+Objects#p85329を参照してください。

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

delphi - Delphi で TEdit のキャンバスを取得するにはどうすればよいですか?

TEdit に収まるようにファイル名を短くしたいのですが、次のようなものです。

Canvas残念ながら、TEdit には直接プロパティがあるため、これはコンパイルされません。フォント メトリックにはキャンバスが必要です。TEdit のキャンバスにアクセスするにはどうすればよいですか?

( MinimizeNameVcl.FileCtrl で宣言されています。)

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

c++ - ルート TCanvas での変形可能マップの作成

ROOT のコマンドライン インターフェイスを介して TH2F でプロットしているデータがあります。goodtree と呼ばれる TTree* があり、次のように検出器内のイベントの XY 位置をプロットします。

また、r^2 対 theta を見て、正規化された面積プロットを作成したいと思います。

この部分は問題ありません。次にやりたいことは、マップを XY プロットに重ねて、R^2T プロットの正しい位置に自動的に変形させることです。つまり、これは粒子検出器であり、XY で円形の断面を持つ光電子増倍管 (PMT) を使用しています。これらの PMT (ハニカム パターン) の輪郭を示すマップを h1 にオーバーレイできるようにしたいと考えています。これは、スクリプトを使用して非常に迅速に行うこともできます。

難しいのは、このマップを XY で定義し、R^2T データ ポイントの上にプロットできるようにしたいということです。これらすべての変形された楕円の位置、幅、および高さを手動で計算する必要なく、これを簡単に行う方法はありますか?