問題タブ [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.
html - CSSフッターの問題
Web ページに問題があります。
min-height プロパティを使用して、フッターをページの下部 (コンテンツの長さが足りない場合) とコンテンツの後 (コンテンツがウィンドウより長い場合) に配置しています。この方法を説明するチュートリアルはたくさんありますが、私もこの方法で行いました。
およびその他のコード。それはうまくいきます。
この問題は、コンテナ div にドロップ シャドウを追加するために 2 つの追加 div を作成すると発生します。私は持っている:
html と body の高さは 100% のままで、左の影の div の min-height は 100% で、右の影とコンテナーの高さは 100% であると考えました (100% は高さの 100% を意味すると想定しています)。親要素)。
しかし、それは機能しません (Firefox では動作しますが、Chrome では動作します。IE はあまり気にしません)。正しく動作するようにあらゆる種類の組み合わせを試しましたが、うまくいきませんでした。どんな助けでも大歓迎です。
編集:(部分コード)
そして関連するcss:
編集2:この質問がdoctypeに属していることを知りました。ですから、これからは適切な場所で質問します。しかし、これはすでに始まっているので、質問をどこに投稿すべきかについては言及せずにとにかく回答するようお願いしたいと思います。ありがとう。
iphone - Cocoaを使用してPNGにドロップシャドウを追加します
プログラムで影を追加したい透明な背景のPNGがいくつかあります。正方形のオブジェクトに影を追加する例を見たことがありますが、複雑な形状の例は見たことがありません。
したがって、私がしなければならないと思う2つのステップは次のようになります。
- PNGの形を分離する
- PNGの背後に、ぼやけ、色あせ、オフセットされた形状を描画します。
私はCocoa内での描画の経験があまりないので、どこから始めればよいかについての洞察をいただければ幸いです。
スクリーンショット:(
出典:iworkinprogress.com)
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 で追加されました。
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がオフになります)
iphone - 角の丸い長方形とドロップシャドウのあるUIView:影は長方形の上に表示されます
ドロップシャドウ付きの丸みを帯びた長方形を描画しようとしているuiviewサブクラスがあります。両方の要素を描画しますが、角の丸い長方形の塗りつぶしを通して影を見ることができます。私はCGを初めて使用するので、おそらく単純なものが欠けています(ただし、1に設定されている塗りつぶしのアルファではないようです)。これが描画rectコードです。
wpf - WPF DropShadow が消える
Wpf ドロップシャドウが消えます。再現方法はこちら。
xaml パッドに次のように入力します。
境界線のあるテキストが表示され、境界線の周りにドロップ シャドウが表示されます。
Margin="0,0,0,0"をMargin="0,300,0,0"に変更し、 xamlパッド ウィンドウのサイズを変更して境界線が見えるようにします。私のマシンでは、ドロップ シャドウがなくなりました。
他の誰かがこれを見ますか?助けてください。
javascript - HTML/CSS: Google はどのようにマップ上にこのドロップ シャドウを作成していますか?
質問: Google マップの垂直スクロールバーの横にドロップシャドウを作成する方法は?
これは、私が話していることを正確に描いたスクリーンショットです。
これは、ブラウザ (IE、Firefox、Chrome) やプラットフォーム (Windows、Mac、Linux) に関係なく発生するようです。
winapi - Win7の付箋のようなDropDownShadowでウィンドウを作成するにはどうすればよいですか?
境界線はないがドロップダウンシャドウ効果があるWindows7の付箋のようなWin32ウィンドウを作成するにはどうすればよいですか?
境界線のないWin32ウィンドウを作成しようとしましたが(〜WS_BORDERを削除)、ドロップダウン効果の影が消えました。
何か案が?
よろしく、Zach @ Shine
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 の実際の描画フレームを縮小したくありません。クリッピングされずに、背景の別のレイヤーに何らかの形で配置したい.