2

私が使用しているユーザーコントロールのいくつかを整えたいのですが、いくつかの魅力的な塗りつぶしがその仕事をするはずだと思いました(おそらくその一部です)。iPhoneボタンやOffice2007リボンバーの背景を塗りつぶすように(おそらくもう少し知っているでしょう)。

編集: 物事を明確にするために、単純なグラデーション塗りつぶしは必要ありません-そのためのWindowsAPI呼び出しがあります。全体の効果がどのように達成されるかにもっと興味があります。これはPhotoShopでそれを行う方法を示す記事へのリンクですが、私はそれをコードで達成したいと思います。

具体的には、上部の光沢のあるグラデーションは、ボタンのほぼ中央の曲線で終わります。私はこれが別々にレンダリングされ、何らかの形でブレンドされる必要があることを半分期待しています。

何か案は?

4

4 に答える 4

4

「ガラス」効果は、高さの約4倍の大きさの白い楕円を作成し、それを「ガラス化」する画像の上に配置して、下部の円弧が画像の中心にくるようにしてからアルファブレンドするだけで作成されます。このサンプルのデルファイコードは、最後の部分を実行するのに役立つと思います。

于 2009-10-08T22:41:14.113 に答える
3

あなたはグラデーションの塗りつぶしについて話している。ここからいくつかのコードサンプルを入手できます。そのページで「gradient」を検索して、関連するセクションを見つけてください。

于 2009-10-08T19:19:17.090 に答える
2

http://www.tmssoftware.com/site/advsmoothbutton.aspを試すことができます。私の知る限り、このコントロールはD2009の無料のSmoothControlsパックに含まれています。他のDelphiバージョンの場合は、TAdvSmoothButtonコントロール自体を購入するか、コントロールパックの一部として購入できます。

于 2009-10-09T07:57:11.167 に答える
1

これを行う最も簡単な方法は、おそらくボタンのサイズに基づいて画像を組み立てることです。複雑なグラデーションを手続き的に生成しようとするのではなく、ベースイメージを作成し、その上にいくつかのレイヤーのサイズを変更します。

于 2009-10-08T21:44:47.950 に答える