2015-11-04 11 views
7

ビットマップスタイルデザイナーから作成したTScaledLayoutとカスタムスタイルをfmxで組み合わせるときに、ペイントの問題が発生しています。TScaledLayoutとカスタムスタイルでの塗りつぶしの問題

デモンストレーションするために、「VCL/FMX用の新しいスタイル」 - >「スタイルとして保存」をビットマップスタイルデザイナーで選択して作成したデフォルトのカスタムスタイルをロードしました。いくつかの色付きの矩形にいくつかの標準コントロールをドロップしました:TScaledLayout上の緑色のもの、フォーム上の青色のもの、&赤色。フォームをストレッチすると、色付きの線がScaledLayoutのコントロールに表示されます。背景は、部分的に可視である:

paint issue with stretched controls

Iが正確に設計時の寸法に一致するようにフォームをサイズ場合、線が消え。それはかなり重要な問題のように思えますが、私は確かにそのような2つを一緒に使うことはできません。誰でも可能な修正または回避策のアイデアはありますか?

+1

多くのDelphiのバージョンで同じ問題が発生しています。それはまだDelphi 10 Seattleに存在します。 – norgepaul

答えて

0

これはスケーリングとビットマップに関する既知の問題です。 Google+ディスカッション(https://plus.google.com/+PaulThornton/posts/ACAHkJD3a84)をご覧ください。私は同様の例内部で報告された問題を発見しましたが、 は、このシナリオに一致するものを発見していない

:私はマルコ・カントゥの考えを引用します。確かに品質の向上に価値のある ポータル。これを言って、私は、ビットマップベースの操作と スケーリングが本当によくぴったり合わないことを恐れているので、包括的な解決方法があるのは難しいかもしれません。

例を説明しましょう。ボタンを押してください。これはFMX によって9つのセクション(枠線、角、中央部分)で塗りつぶされ、 のサイズに関係なく、ビットマップ要素が最大で一方向に引き伸ばされます。 はしばしば描画します。ボタンの単一のビットマップを ターゲットサイズに伸張すると、色を使用するとアンチエイリアスが破られ、ぼやけた画像が作成されます。

これは、 完全な最終イメージを取得して変換すると、ScaledLayoutでどのようになるかを示す例です。 ScaledLayoutはもともとベクトルスタイルで導入された であり、そのシナリオで非常にうまく機能しました。 今日のビットマップスタイルでは、物事は少し複雑になります。

かかわらず、そこのこの説明の問題がある、私はQCでそれを報告 をお勧めしたい、と私はそれが設計 として閉鎖されません(それは自然に起こることができることを確認してくださいよ、これはどのようにシステムであり、私たちは という問題を解決するためにいくつかの調査を行います。これを 機能リクエストに変えてください。

+0

GDI +(FMX.Types.GlobalUseDirect2D:= false)を使用して強制すると、これがD2Dの問題であるようです。それは明らかにD2Dのすべての利点を犠牲にしているので、明らかに良い解決策ではありません。それはマルコの説明とどのように一致しますか? – DNR

関連する問題