待辦事項 #13571

グラデーション処理の改良
啟用日期: 2008-09-26 01:02 最後更新: 2008-11-19 20:01

回報者:
負責人:
類型:
狀態:
關閉
元件:
(無)
里程碑:
(無)
優先權:
5 - 中
嚴重程度:
5 - 中
處理結果:
修正
檔案:
1

細節

修正だけでなく提案も含んでいますが、検討してみて下さい。
リビジョン 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 History (3/5 Histories)

2008-09-26 01:02 Updated by: revulo
  • File 3473: sie_gradientTitle.zip is attached
2008-09-26 19:53 Updated by: dhrname
  • 負責人 Update from (無) to dhrname
  • 優先權 Update from 5 - 中 to 8
  • 處理結果 Update from to Accepted
評語
Logged In: YES
user_id=32883

ありがとうございます。検討してみましょう。
なお、送信されたコードはSIEと同じライセンスで処理
します。
2008-09-26 21:18 Updated by: dhrname
  • 優先權 Update from 8 to 9 - 最高
評語
Logged In: YES
user_id=32883

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

表示の仕方が変わるなど大幅な修正であるため、0.32で
はなく、その次のリリースで反映させるつもりです。
2008-10-14 19:58 Updated by: dhrname
  • 處理結果 Update from Accepted to 修正
  • 優先權 Update from 9 - 最高 to 8
2008-11-19 20:01 Updated by: dhrname
  • 狀態 Update from 開啟 to 關閉
  • 優先權 Update from 8 to 5 - 中
  • Ticket Close date is changed to 2008-11-19 20:01

Attachment File List

編輯

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