Ticket #13571

グラデーション処理の改良
Eröffnet am: 2008-09-26 01:02 Letztes Update: 2008-11-19 20:01

Auswertung:
Verantwortlicher:
Status:
Geschlossen
Komponente:
(Keine)
Meilenstein:
(Keine)
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Gefixt
Datei:
1

Details

修正だけでなく提案も含んでいますが、検討してみて下さい。
リビジョン 511 から書き換えた分のコードを添付しておきます。

・放射状グラデーションを gradientTitle を用いた方式に変更

・colors 属性を用いると opacity の意味が逆になる VML のバグ
に対処

・グラデーション設定後に opacity の設定を上書きしていたバグを
修正

・グラデーションの ID に英数字以外の文字が使えなかったのを修正

・stop-opacity にも opacity, fill-opacity の値を掛けるよ
う修正

・method を sigma から none に変更

・offset の値は 0.0~1.0 の数値でもよいので、百分率に変換す
る処理を削除

・その他コードの整理


まだ以下の点が気になっていますが、今のところは未対応です。

・VML では stroke にグラデーションは効かないが、現在は fill
のグラデーションの処理を流用してごまかしている

・radialGradient の cx, r, fx などの設定は無視している


現在の SIE の放射状グラデーションには、いくつかの制限がありま
す。

・3色以上のグラデーションに対応できない
・グラデーションの焦点の位置を設定することができない
・仕組み上、本来の色より暗く表示される場合がある

この問題を解決するために、別の方法で radialGradient の実装を
してみました。
VML で gradientRadial と設定すると、グラデーションの形は四角
になってしまいますが、gradientTitle という設定にすると、グラ
デーションはその図形と同じ形になるようです。
http://openclipart.org/media/files/Chrisdesign/3587
や 4wd.svg あたりを表示してみると、場合にもよりますがそれなり
に良い表示結果が得られます。
この方法では rect 要素のグラデーションが四角になってしまいます
が、もう一手間かければ改良することも可能です。

opacity の意味が逆になるバグについては、場合分けが大変なの
で、常に color, color2, colors の全てを設定するようにしまし
た。

ID 属性にはハイフンやコロンなどの文字も使えるようなので、正規
表現の部分を少し変えています。

method が sigma だと他のブラウザと微妙に表示が異なります。
none に設定するのが正解のようです。

Ticket-Verlauf (3/5 Historien)

2008-09-26 01:02 Aktualisiert von: revulo
  • File 3473: sie_gradientTitle.zip is attached
2008-09-26 19:53 Aktualisiert von: dhrname
  • Verantwortlicher Update from (Keine) to dhrname
  • Priorität Update from 5 - Mittel to 8
  • Lösung Update from Keine to Accepted
Kommentar
Logged In: YES
user_id=32883

ありがとうございます。検討してみましょう。
なお、送信されたコードはSIEと同じライセンスで処理
します。
2008-09-26 21:18 Aktualisiert von: dhrname
  • Priorität Update from 8 to 9 - Höchste
Kommentar
Logged In: YES
user_id=32883

リビジョン516で対応しました。

表示の仕方が変わるなど大幅な修正であるため、0.32で
はなく、その次のリリースで反映させるつもりです。
2008-10-14 19:58 Aktualisiert von: dhrname
  • Lösung Update from Accepted to Gefixt
  • Priorität Update from 9 - Höchste to 8
2008-11-19 20:01 Aktualisiert von: dhrname
  • Status Update from Offen to Geschlossen
  • Priorität Update from 8 to 5 - Mittel
  • Ticket Close date is changed to 2008-11-19 20:01

Dateianhangliste

Bearbeiten

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Anmelden