問題タブ [graphics32]
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.
delphi - 画像内でマウスの右ボタンを押すと、画像外で最初のクリック マウス イベントが無効になります
TImgView32 コントロール (Graphics32 の一部) を備えた Delphi アプリがあります。私はマウスの移動とマウスダウンのイベントを処理していますが、それは機能しています。問題は、画像内でマウスの右ボタンを使用するときはいつでも、マウスの右ボタンを離すと (まだ画像内にあり、離す前に画像の外に出ませんでした)、マウスの左ボタンボタン、チェックボックス、最小化、またはその他のコントロールのイベントは実行されません。もう一度クリックするまで、TImgView32 で追加のマウス ダウン イベントを実行します。2 回クリックしないとマウスが画像に表示されなくなったときに、マウス クリックを適切なコントロールに移動するにはどうすればよいですか? XE3 と 2007 の両方でコンパイルしましたが、結果は同じでした。
delphi - カスタムコンポーネントを使用してフォームを閉じるとDelphiがフリーズする
Graphics32ベースのImgView32のパンおよびズーム機能を実装するためのコンポーネントを開発しました。コンポーネントをTImgView32の横にドロップし、コンポーネントのImage viewプロパティを設定すると、すべてが正常に機能し、期待どおりに機能します。ただし、コンポーネントをホストしているフォームを閉じようとすると、ImgView32でDelphiIDEがフリーズします。私が最初に考えたのは、コンポーネントにリンクされたままのImgView32がコンポーネントの前に破棄されるため、Delphiの標準通知メカニズムを実装したことです。それでも問題は残っています。これが私のコンポーネントのソースコードです。コンポーネントはランタイムパッケージに含まれており、別のデザインタイムパッケージがランタイムパッケージを使用してコンポーネントを登録しています。
Robの便利なデバッグのヒントの結果として、更新します。結局のところ、コンポーネントは、Notificationメソッドへの無限の呼び出しでハングします。多分それは誰かへのヒントです。
delphi - Delphi-Graphics32、アンチエイリアス処理された角の丸い長方形を描画します
Graphics32を使用してアンチエイリアス処理された角の丸い長方形を描画するにはどうすればよいですか?
TPolygonを使用して通常の長方形をbitmap32キャンバスに作成できましたが、丸みを帯びた角を描画するための参照が見つかりません。いくつかのコードをいただければ幸いです。
delphi - Graphics32 コンポーネントの回転機能とスケーリング機能の組み合わせ
良い一日。ビットマップ イメージを操作する 2 つの関数を組み込みたいと考えました。同じ画像を回転および拡大縮小したかったのです。私がしたことは、与えられた例の 1 つである TRotLayer を使用することでした。私の計画は、TRotLayer を変更することでした。これが私がしたことです。
最初の行で、TCustomLayer を TBitmapLayer に変更して、TBitmapLayer の Location プロパティを使用して画像のサイズ変更とスケーリングを行えるようにしました。しかし、スケーリング部分のコーディングを開始したとき、Location プロパティを使用して機能させることができなかったようです。これがコードです。
うまくいきませんでした。どこで私は間違えましたか?または、スケーリングと回転のプロパティをすべて 1 つに持つコンポーネントはありますか? あなたの助けを楽しみにしています。前もって感謝します。
Delphi初心者はこちら... :)
delphi - TBitmap32.LoadFromStream() 画像フォーマットの自動認識
Delphi XE2 (Update 3) と GR32 を使用しています。TBitmap32.LoadFromStream()
画像データの読み込みに使用できません。次の例外が発生します。
コード
回避策
コードにコメントを付けLoadFromStream()
、前の 2 行のコメントを外すと、動作します。そのため、ファイルからイメージをロードするときにイメージ フォーマットを判別できます。この例でbs
は、有効な PNG イメージが含まれています。ただし、GIF、JPG、BMP、またはその他のグラフィック形式の場合もあります。
TPNGImage
また、中間オブジェクト (例: 、TJPEGImage
など) を使用し、使用して画像データをLoadFromStream()
中間オブジェクトにロードし、Assign()
それをにロードできることも知っていTBitmap32
ます。ただし、中間オブジェクトなしで任意のタイプの画像を処理できれば、それがTBitmap32
可能だと思いました...
質問
画像をHDDに保存せずに(一時的であっても)、または中間オブジェクトを使用せずTBitmap32.LoadFromStream()
に、画像をロードして画像フォーマットを自動認識させる方法を知っている人はいますか?
delphi - カラー アルファ チャンネルは完全に透明ではありません
BitmapLayer
次のコードを使用して、アンチエイリアス線を描画しました。
以下の結果でわかるように、線の透明度ピクセルには緑の値があります。そしてそれは$0000FF00
(で使われるClear()
) によるものです。しかし、この色のアルファ チャネルがゼロであるということは、完全に透明であることを意味します。
Q: コードに問題はありますか? 私はどこか間違っていますか?
delphi - TBitmap上でTBitmap32を透過的に描画する方法は?
ソース画像の透明度を維持しながら、通常の (TBitmap) 画像に完全に透明なピクセルと部分的に透明なピクセルを含むソース画像 (GR32 TBitmap32) を描画しようとしています。
私はこれを使用します:
ただし、画像は透過的に描画されません。
コード:
すべてが非常に基本的です: アプリケーションの起動時にイメージをロードする背景ビットマップ (Bkg) があります。次に、手順 Apply で、ディスクから 2 番目の画像 (透明度のある画像) を読み込み、背景の上に描画します。