問題タブ [dropshadow]

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

html - CSSフッターの問題

Web ページに問題があります。

min-height プロパティを使用して、フッターをページの下部 (コンテンツの長さが足りない場合) とコンテンツの後 (コンテンツがウィンドウより長い場合) に配置しています。この方法を説明するチュートリアルはたくさんありますが、私もこの方法で行いました。

およびその他のコード。それはうまくいきます。

この問題は、コンテナ div にドロップ シャドウを追加するために 2 つの追加 div を作成すると発生します。私は持っている:

html と body の高さは 100% のままで、左の影の div の min-height は 100% で、右の影とコンテナーの高さは 100% であると考えました (100% は高さの 100% を意味すると想定しています)。親要素)。

しかし、それは機能しません (Firefox では動作しますが、Chrome では動作します。IE はあまり気にしません)。正しく動作するようにあらゆる種類の組み合わせを試しましたが、うまくいきませんでした。どんな助けでも大歓迎です。

編集:(部分コード)

そして関連するcss:

編集2:この質問がdoctypeに属していることを知りました。ですから、これからは適切な場所で質問します。しかし、これはすでに始まっているので、質問をどこに投稿すべきかについては言及せずにとにかく回答するようお願いしたいと思います。ありがとう。

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

iphone - Cocoaを使用してPNGにドロップシャドウを追加します

プログラムで影を追加したい透明な背景のPNGがいくつかあります。正方形のオブジェクトに影を追加する例を見たことがありますが、複雑な形状の例は見たことがありません。

したがって、私がしなければならないと思う2つのステップは次のようになります。

  • PNGの形を分離する
  • PNGの背後に、ぼやけ、色あせ、オフセットされた形状を描画します。

私はCocoa内での描画の経験があまりないので、どこから始めればよいかについての洞察をいただければ幸いです。

スクリーンショット:( 出典:iworkinprogress.com代替テキスト

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

winapi - Win32: ドロップ シャドウを非長方形のレイヤード ウィンドウに反映させる方法は?

WS_EX_LAYERED拡張スタイルを追加して、レイヤード ウィンドウを作成しました。

Windows は、クロマ キー カラー値として黒を使用します。問題を明確にするために、黒の大きな境界線を残します。

代替テキスト


ウィンドウが構築された後、クロマキー カラーとして黒を使用するように指示します。

ポップアップ レイヤード ウィンドウが部分的に透明に表示されます。

代替テキスト


問題は最後のステップです。Windows XP 以降で利用できるCS_DROPSHADOWクラス スタイルを使用して、ドロップ シャドウを作成します。

ドロップ シャドウが表示されますが、影は元の四角形のウィンドウを囲んでおり、レイヤード ウィンドウによって提供されるウィンドウの透明度は考慮されていません。

ドロップシャドウが非長方形のレイヤードウィンドウを尊重するようにする、どこかで見逃した魔法のオプションを誰かが知っていますか?


この問題が発生する別の例は、6px のパディング/マージンを含めない場合です。Windows® テーマによって描画されるヒント ウィンドウは、四角形ではありません。これにより、ウィンドウが透明になる小さな隙間が残りますが、ドロップ シャドウは表示されません。

代替テキスト

Internet Explorer からのこのヒントからわかるように、Microsoft はそれを機能させることに成功しました。

代替テキスト


Windowstooltipsクラス ヒント ウィンドウの拡大図。SpyXXを使用すると、そのウィンドウ rect とクラス スタイルを取得できます。

SpyXX 言います:

したがって、すべてがウィンドウ自体が 104x20 ピクセルであり、ドロップ シャドウがウィンドウ自体の外側にあることを示しています。(これは と一致していCS_DROPSHADOWます。)

tooltips次に、ウィンドウ クラスのスタイルを確認します。

CS_SAVEBITS興味深いことに、 ( 0x800);は使用しません。これは、小さくて寿命の短いウィンドウに役立ちます。

CS_DROPSHADOW( )も使用しません0x20000。それで、自分のウィンドウの外でどのように描画しているのだろうか?

注:透明なレイヤード ウィンドウは、領域よりも優先される手法として文書化されています。

編集:レイヤード Windows は Windows 2000 で使用されています。CS_DropShadow は XP で追加されました。

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

windows - 窓の外に描く方法は?

Windowstooltipsクラスのヒント ウィンドウを見ると、ヒント ウィンドウの実際の四角形の外側にドロップ シャドウが描画されていることがわかります。

SpyXXを使用すると、ツールチップのウィンドウ四角形とクラス スタイルを取得できます。

表示されるドロップ シャドウは、描画されているウィンドウの物理的な外側にあることがわかります。窓の外にいるときに、窓の周りに影を描くにはどうすればよいですか?

:影は、標準CS_DROPSHADOWのクラス スタイルを使用して描画されません。私はこれを実験的に確認しており、SpyXXのウィンドウのクラス スタイルも確認できます。使用しませんCS_DROPSHADOW:

では、どうすればウィンドウの外に描画できますか?

注:デスクトップ DC で描画しようとするとアウトです。Greg Schechter のRedirecting GDI、DirectX、および WPF アプリケーションから:

画面への描画と画面からの読み取り -- ひどい!

最後に、リダイレクトの話題なので、GetDC(NULL) を使用して画面に書き込むか、XOR ラバーバンド行を実行しようとするなど、特に危険な方法の 1 つに画面への書き込みがあります。2 つあります。画面への書き込みが悪い大きな理由:

高価です...画面への書き込み自体は高価ではありませんが、通常、画面への書き込み時にXORのような読み取り-変更-書き込み操作を行うため、ほとんどの場合、画面からの読み取りが伴います。ビデオ メモリ サーフェスからの読み取りは非常にコストがかかり、DWM との同期が必要であり、GPU パイプ全体と DWM アプリケーション パイプが停止します。
それは予測不可能です...どうにかして実際のプライマリに到達してそれに書き込むことができた場合、プライマリに書き込んだものがどれくらい画面に残るかについての予測可能性はありません. UCE はそれを認識していないため、画面で他に何を更新する必要があるかによって、次のフレーム リフレッシュでクリアされるか、非常に長い間存続する可能性があります。(とにかく、プライマリへの直接書き込みを許可していません。まさにその理由です...たとえば、DirectDrawプライマリにアクセスしようとすると、アクセスしているアプリケーションが終了するまでDWMがオフになります)

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

iphone - 角の丸い長方形とドロップシャドウのあるUIView:影は長方形の上に表示されます

ドロップシャドウ付きの丸みを帯びた長方形を描画しようとしているuiviewサブクラスがあります。両方の要素を描画しますが、角の丸い長方形の塗りつぶしを通して影を見ることができます。私はCGを初めて使用するので、おそらく単純なものが欠けています(ただし、1に設定されている塗りつぶしのアルファではないようです)。これが描画rectコードです。

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

wpf - WPF DropShadow が消える

Wpf ドロップシャドウが消えます。再現方法はこちら。

xaml パッドに次のように入力します。

境界線のあるテキストが表示され、境界線の周りにドロップ シャドウが表示されます。

Margin="0,0,0,0"Margin="0,300,0,0"に変更し、 xamlパッド ウィンドウのサイズを変更して境界線が見えるようにします。私のマシンでは、ドロップ シャドウがなくなりました。

他の誰かがこれを見ますか?助けてください。

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

javascript - HTML/CSS: Google はどのようにマップ上にこのドロップ シャドウを作成していますか?

質問: Google マップの垂直スクロールバーの横にドロップシャドウを作成する方法は?

これは、私が話していることを正確に描いたスクリーンショットです。

ここに画像の説明を入力

これは、ブラウザ (IE、Firefox、Chrome) やプラットフォーム (Windows、Mac、Linux) に関係なく発生するようです。

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

html - ドロップ シャドウ センター コラム Web サイトの Web ページ

中央に列が 1 つある Web サイトにドロップ シャドウ効果を追加するにはどうすればよいですか?

私が意味することのいくつかの例:

lala.com mint.com

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

winapi - Win7の付箋のようなDropDownShadowでウィンドウを作成するにはどうすればよいですか?

境界線はないがドロップダウンシャドウ効果があるWindows7の付箋のようなWin32ウィンドウを作成するにはどうすればよいですか?

境界線のないWin32ウィンドウを作成しようとしましたが(〜WS_BORDERを削除)、ドロップダウン効果の影が消えました。

何か案が?

よろしく、Zach @ Shine

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

uiview - OS 3.1 で iPhone OS 3.2 に見られる CALayer シャドウ プロパティを模倣

shadowOffset、shadowRadius、shadowColor などの CALayer シャドウ プロパティは、3.2 未満の iPhone OS バージョンでは使用できません。3.1 以下で使用するためにその機能をどのように模倣できるか疑問に思っています。

これを使用して、ドロップ シャドウを UIViews にクリーンな方法で追加できるようにして-(void)drawRect:(CGRect)rect、実際のビュー フレームを縮小して対応する必要があるビューのメソッドで描画するのではなく、レイヤー レベルでシャドウを描画できるようにしたいと考えています。影の多い。(この縮小アプローチは、SO で見つけた他の UIView ドロップ シャドウ関連の質問で提案されています)。

階層化されたアプローチがよりクリーンになると考えていました。たとえば、別のシャドウ レイヤーをサブレイヤーとして追加するサブクラス化 CALayer を作成しようとしましたが、それはメイン レイヤーをバッキング レイヤーとして持つ UIView の drawRect: メソッドで描画されたものの上に描画されます。

また、サブクラス CALayer の drawInContext を実装してみました: このようなもの、

しかし、その後、シャドウはコンテキストの現在のクリッピング バウンディング ボックスにクリップされたままになります。これは、レイヤー自体のフレームのようです。

また、メインレイヤーの描画をサブレイヤーにリダイレクトするというアイデアもありました。サブレイヤーは、影が描かれた別のサブレイヤーの上に配置されます。その後、おそらくクリッピングを取り除くと、影が最も遠くなります. しかし、それをどのように行うかについて頭を悩ませることはできませんでした。

これをどうやって進めるかについてのアイデアはありますか?私の UIView ドロップ シャドウ関連の質問が、ここ SO で見つけた他の質問とどのように異なるかを明確にするためです。影に対応するために UIView の実際の描画フレームを縮小したくありません。クリッピングされずに、背景の別のレイヤーに何らかの形で配置したい.