アルファチャンネルをHDCで手伝ってください。私はHDC dc CreateCompatibleDCをスローします。 CreateDIBSectionを呼び出すよりも、メモリ内のイメージのバイトを見つけることができます。このDCにDrawFrameControlを呼び出します。すべての作品ですが、メモリには1ピクセルあたり4バイトがあり、アルファチャンネルは00で塗りつぶします。しかし、私はアルファチャンネルが必要です。 DrawFrameControlに実際のアルファ値を設定させるにはどうしたらいいですか?ありがとうございました。そして、悪い英語のために申し訳ありません:(DeviceContext(HDC)のアルファチャンネル
6
A
答えて
7
GDIは、1ピクセルあたり4バイトのビットマップのアルファ/予約バイトに書き込むことはできません。GDIは実際にアルファを認識しません。 AlphaBlend
などの関数の。しかし、あなたはそれがに書いたピクセルを知って0 にアルファに書き込み、リセットという知識を使用して、手動でその後アルファを修正することができます。
の詳細については、これら三つを読みます記事:
- Transparent Graphics with GDI, Part 1
- Transparent Graphics with GDI, Part 1 1/2
- Transparent Graphics with GDI, Part 2
最初の二つは、おそらくあなたが望むものを達成するために十分な情報を与えます。
これらの記事は、アルファが詰まったピクセルをスキャンして修正する(さらに高度なテクニックを使用して、いくつかのものを重ねて正しいアルファベットで表示する)ことで、GDI関数でアルファを処理する一般的な方法を取ります。 )FrameRect
は、線が1単位の幅が広くて高い矩形を描画します。線を使用して描画するか、メモリ内のピクセルビットマップを直接編集して直線をメモリに描画する方が効率的です。これは、GDI描画ピクセルのビットマップ全体をスキャンする必要がなくなります。結局、1単位幅の矩形であるため、どのピクセルが既に描画されているのかを正確に把握し、自分で編集することができます。
関連する問題
- 1. hDCのメモリ管理
- 2. アルファチャンネルの座標
- 3. ストレッチブロックとアルファチャンネルのフィルタリング
- 4. OpenCV:アルファチャンネルのPNG画像
- 5. QPaintDeviceをHDCハンドルから作成する
- 6. アルファチャンネル付きWPF 3Dテクスチャ
- 7. three.js内の一貫性のないアルファチャンネル
- 8. アルファチャンネルの子ウィンドウを点滅させる
- 9. Windows/D3Dのアルファチャンネルを検出中
- 10. エラーC2360: 'hdc'の初期化は 'case'ラベルでスキップされます
- 11. AS3ビットマップデータは、3番目のアルファチャンネルに基づいて2つのアルファチャンネルを合成します。
- 12. アルファチャンネルを使用したビットマップ描画:
- 13. GraphiccMagick、アルファチャンネルを削除する方法
- 14. ビットマップにアルファチャンネルを追加する方法
- 15. ImageIOがPNGアルファチャンネルを無視します
- 16. gdi +ビットマップのような構造体をHDCに変換する方法は?
- 17. QImageがこのアルファチャンネルを失うのはなぜですか?
- 18. アルファチャンネルを使用したアンドロイドのネイティブ動画再生
- 19. アルファチャンネルはどのように-1になりますか?
- 20. SetPixelFormatがOpenGL用のアルファチャンネルを作成していない
- 21. Outlookツールバーのボタンにアルファチャンネルを保持する
- 22. GtkウィンドウのPNG(アルファチャンネル)スクリーンショットを取得するには?
- 23. UIImageViewで変換された画像のアルファチャンネルを検出する
- 24. pyplotオブジェクトのアルファチャンネルを設定しますか? Rで
- 25. アルファチャンネルを使用した画像のサイズ変更
- 26. アルファチャンネルを特定の色に追加する
- 27. ImagickPixelの作成時にアルファチャンネルを設定する
- 28. WinFormsのアルファチャンネル透明度/不透明度を持つスプラッシュスクリーン
- 29. BitmapImageをグレースケールに変換し、アルファチャンネルを維持する
- 30. OpenGLフレームバッファ操作で、アルファチャンネルでdrawPixelsが失敗する