問題タブ [translucency]

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

java - Java Swing - アーティファクトを引き起こす半透明コンポーネント

私は現在、大学のコースのグループ プロジェクトに取り組んでいますが、ちょっとした障害にぶつかりました。私たちが実装することを決定したプログラムは、ユーザー名などを保存および共有するための中央サーバーを備えたピアツーピア チャット クライアントです。私は GUI を担当するように割り当てられました。

友人が冗談めかして「燃えるような背景を入れてはどうか」と提案してくれました。そこで、ユーザーが選択した背景画像を使用することにしました。このままでは、背景画像の一部のみが表示され、その上にすべてのコンポーネントが表示されるため、半透明を実装することにしました。

これは私の問題があるところです:

入力ボックスからチャット ウィンドウに情報を送信したり、フレンド リストをナビゲートしたり、チャット ウィンドウをスクロールしたりすると、奇妙なアーティファクトが残されます。これらのアーティファクトは、[送信] ボタンの半透明の「ゴースト」、メニューの一部、または古いテキストである場合があります。フレーム全体が適切に再描画されていないように見えますが、それがどのように機能するかはわかりません。

JTextComponent を実装するコンポーネントの場合、選択色を半透明に設定しています。他のコンポーネントについては、背景を半透明に設定しています。コンポーネントを見て、それが何であるかに応じてその半透明度を設定し、それが何らかのコンテナであるかどうかを確認し、各アイテムの半透明度を再帰的に設定する setTranslucency(Component com) 関数があります。

現在、この問題を解決するために私が見つけた方法は、ウィンドウを見えないようにドラッグすることです (ウィンドウを最小化するか、画面外にドラッグして戻すなど)。

そう、

1) ウィンドウを画面の外にドラッグしたり最小化したりしたときのように、ウィンドウ全体を強制的に更新する方法はありますか?

また、

2) そもそも私のやり方が悪いのでしょうか? もしそうなら、どうすれば修正できますか?

参照用の写真は次のとおりです。

http://i.stack.imgur.com/4J9GJ.png

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

user-interface - JavaSwing-半透明のコンポーネント

私は最近、半透明のコンポーネントが適切に更新されていないように見えることから奇妙なアーティファクトを引き起こしていることについて質問しました。私が受け取った答えにより、アーティファクトは消えましたが、半透明性が犠牲になりました。

解決策は、すべての半透明のコンポーネントに対して、setOpaque(false)関数も呼び出すことでした。このようにして、Swingは、これらのコンポーネントの背後にある背景を再描画する必要があることを認識していました。

しかし、これは私が達成しようとしていた半透明性を犠牲にしてもたらされました。代わりに、コンポーネントが透明になりました。

前提は次のとおりです。チャットクライアント用のGUIを設計しており、機能要求にはバックグラウンドが必要でした。JPanelクラスを拡張するためのコードスニペットに従うことでバックグラウンドを正常に機能させることができましたが、コンポーネントでバックグラウンドを表示できるようにする必要がありました。半透明を設定した後、更新されたコンポーネントの残骸が本来あるべき場所に表示されていました。私はここに来て問題を解決しましたが、今は新しい問題があります。だからここにいます。

だから、これが私が推測したことです:

-目的のコンポーネントごとにsetOpaque(false)関数を呼び出し、半透明の色を設定しないと、目的の結果が得られません。

-半透明の色を設定し、setOpaque(false)を呼び出さないことで、半透明の背景を表示できますが、アーティファクトが発生し、正方形に戻ります。

したがって、アーティファクトのない透明とアーティファクトのある半透明の中間点が必要です。つまり、アーティファクトのない半透明の背景(完全に透明ではない)が必要です。

不透明度に関係なく、JFrameをオーバーライドして、すべてのコンポーネントを再描画する必要があるようです。私が欠けているものがない限り..それが私がここにいる理由です!

ありがとう!

(元の質問へのリンクと、参照用の画像があります:Java Swing-アーティファクトの原因となる半透明のコンポーネント

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

java - jframeの形を変える

可能かどうかわかりません.jframeの形状を円に変える方法はありますか

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

windows - Delphi で他のアプリケーション ウィンドウを半透明にする

良い一日

これが可能かどうかについての指示をウェブで検索しましたが、役に立ちませんでした。別のアプリケーションを選択できるようにするアプリケーションを作成する必要があります。これにより、選択したアプリケーションが半透明になり、上に表示されます (ゴースト イメージ オーバーレイのように)。

Delphiでこれはまったく可能ですか? Delphi XE と Lazarus を使用しています。誰かがどこから始めるべきかの一般的な方向性を教えていただければ幸いです.

前もって感謝します、

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

firefox - Firefox 4 の透明な XUL ウィンドウ

新しいウィンドウを開く Firefox 拡張機能を作成しました。このウィンドウは透明です。つまり、背景がなく、背後のデスクトップが透けて見えます。

でできました<window style="background:transparent !important; -moz-appearance:none !important;">

Firefox 3.x では完全に動作しますが、Firefox 4 では透過性が得られません。背景は白です。Firefox 4 でこの透明効果を実現する方法はありますか?

(PS: Windows でのみ動作しました。Windows 用に修正した後、他の OS 用に作成する方法を誰かが知っていれば、私はとても幸せです。)

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

delphi - 半透明のTBitmapに不透明な線を描画します

空のビットマップがあり、TCanvasを受け取る描画ルーチンがあります。描画ルーチンはより大きなライブラリの一部であるため、事実上私の制御不能です。

簡単に言えば、描画ルーチンがピクセルに影響を与える場合は、ピクセルを不透明にします。触れられていない各ピクセルは透明のままにする必要があります。描画ルーチンで使用される色を制御できないため、このTransparentColorプロパティを使用する必要はありません。

これを達成する方法はありますか?キャンバスが描画先のピクセルのアルファレイヤーに影響を与えるように指定するために使用できるある種の設定はありますか?


更新:私はDelphi 2010を使用しています、そしてここに私が試したコードに従います:

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

java - 透明な JButton はまだ背景を描画しています

私は半透明のJPanelを持っています。角の丸いボタンが必要で、いくつかの効果を追加したかったので、JButton を拡張してカスタム JButtonを作成しました。ボタンを非不透明にしました。このボタンを半透明の JPanel に追加すると、問題なく表示されます。しかし、ロールオーバーすると、ボタンの後ろに黒いパッチが描かれ、本当に安っぽく見えます. 解決策をネットで検索しましたが、役立つものは見つかりませんでした。この問題は http://www.java.net/node/661798でも説明されていますが、kirillcool の提案を実際に実行することはできませんでした.....

0 投票する
5 に答える
18528 参照

java - Java チュートリアルの半透明ウィンドウの例は、jdk7 で遊んでいる人に問題を引き起こしていますか?

これがです。

TranslucentWindowたとえば、jdk7 をサポートする NetBeans IDE 7.0をビルドして実行すると、次の例外が発生します。

このスタック トレースによると、問題のある行はtw.setOpacity(0.55f). ただし、エラーが示すようsetUndecorated(true)に、フレームで呼び出すと、例外はスローされず、装飾はありませんが、半透明のウィンドウが作成されます (これは面倒です)。これは正常ですか?このコードは「そのまま」正しく実行されるべきではないでしょうか? 私は何かを見落としていますか?

編集

半透明のウィンドウが装飾されているように見えるのはなぜですか、それともこれはカスタム レンダリングですか?

それは何ですか...

ここに画像の説明を入力

どうあるべきか...

ここに画像の説明を入力

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

android - GLSurfaceがTRANSLUCENTの場合、正方形の描画に問題があります。正方形が2回描画されます

拡張現実アプリを開発するために、OpenGL for Androidで最初のステップを実行していますが、カメラ画像の前にOpenGLシェイプを統合するのに苦労しています。プログラムは、カメラ画像上にXZ平面(Z軸が上を向いていると仮定)に正方形を描画することになっていますが、2つの正方形が表示され、カメラを使用しない場合よりも小さくなります。

ここに少しのコードがあります。

メインアクティビティでは、ビューとセンサーを次のように設定します。

私のレンダラーのonDrawメソッドは次のようなことをします:

最後に、次のようにonSurfaceCreatedメソッド内のすべてを初期化します。

行にコメントすると

アクティビティ内で、正方形を1回だけ描​​画します。しかし、半透明または透明にすると、モバイルを回転させたときにうまく描画されない2つの小さな正方形が描画されます。

何が起こっているのか誰かが知っているなら、それは非常にありがたいです。

ありがとう!!

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

iphone - iPhone: ビュー レイアウトでの半透明の黒い uistatusbar の問題

ステータス バーに問題があります。これは iPad アプリではなく、iPhone アプリです。アプリのどこにでも黒い半透明のステータス バーを表示したいと考えています。

アプリの plist でステータス バーのスタイルを設定しました半透明の黒に設定されています。

私の理解では、これが設定されている場合、すべてのビューのレイアウトは、不透明なステータス バーがある場合のように 0,20 ではなく 0,0 から開始されます。これが、IB が使用するステータス バーの種類のヒントを指定するオプションを提供し、それをシミュレートして IB で正しく表示できるようにする理由です。(そして、はい、IB のすべてのビューは、黒い半透明のステータス バーを表示するように設定されています)。レイアウトは 0,0 から行われるため、ステータス バーがビューをオーバーレイして何かを表示します。IBでは問題なく動作します。しかし、私のアプリではそうではありません。

私のアプリはタブ バー ベースのアプリであり、すべて同じように設定されていても、ビューの 1 つだけが正しく表示されます。そして、その 1 つのビューを機能させるには、バックグラウンド ビュー イメージを 0,-20 に設定し、メイン ビューをサブビューをクリップしないように設定する必要があります。そのため、黒い半透明のレイアウトが正しく機能していないようです。さらに、他のすべてのタブビューは同じように設定されており、サブビューをクリップせず、メインの背景ビューを 0,-20 に設定しています。しかし、これが実際に「機能」するのは最初のタブだけです。

ここにいくつかの写真があります:

どのように見えるか (ただし、背景を 0,-20 に設定する必要があります): これは、それがどのように見えるべきかです

まったく同じ設定の別のタブは、次のようになります。悪い別のタブ

オーバーレイする背景のない blacl 半透明のステータス バーであることを確認するために、背景なしで試してみました。背景なし

および別の背景 (別の背景は真っ青で、わずかなブラシ効果はありません): 代替背景

動作しない 3 つの例 (背景なし、実際の例、および代替例) のステータス バーはまったく同じに見えるため、ステータス バーは正しい並べ替えで、黒の半透明であると仮定しますが、その後ろには透けて見えるものは何もありません。

私のタブのいくつかにはすべてこの問題があり、ナビゲーションコントローラーを使用してタブ内を循環するすべてのビューにこの問題があります。そして、それらはすべて「Clip Subviews」が「NO」に設定され、背景の原点が0、-20に設定された「作業」タブと同じように設定されています

「機能している」ものは機能していないと思いますが、バックグラウンド ビューの負のオフセットが原因であるように見えます。実際には 0,0 に設定して動作させるべきだと思います。しかし、IB が提供するメインのビューの原点は 0,20 に設定されており、グレー表示されているため、変更できません。

さらに、あるタブで別の問題があります。別のルック アンド フィールを使用している [設定] タブ (より iPhone のように見える) では、黒い半透明が有効になっていません。プログラムで作成したビューから開始すると、灰色のステータス バーが表示されます。 プログラムで構築された設定

nib に裏打ちされたビューにドリルダウンすると、それらは同じように見えます。設定ペン先裏打ち

そして、ビューは灰色のステータスバーのように 20 ピクセル下に配置されます (IB では黒の半透明に設定されていたので、20 ピクセル上に配置しました)。

アプリの plist エントリに加えて、ステータスバーのスタイルをプログラムで設定しようとしましたが、(これらのタブのいずれかで) 効果がありませんでした。

私はこれ(Google、stackoverflow、apple.com)を数週間、断続的に調査してきました。しかし、私が何をすべきかの兆候は見つかりませんでした。

ETA: wantsFullScreenLayout質問の 1 つを解決したので、これを解決済みとしてマークします。問題は uistatusbar 自体ではないため、ここに最初に提示された 2 つの問題の 1 つに関する更新された問題、新しい写真、説明など、およびより適切なタイトルで新しい質問を開きました。新しい質問は 新しい問題にあります