JavaScript の画像処理能力は実際には弱いわけではありませんが、ブラウザ戦争の影響で Adobe が Macromedia を買収したことで SVG が停滞しているのは残念です。
Apple は新しい勢力として、キャンバス タグを提供します。 Canvas は Mac OS のダッシュボードに初めて導入されましたApple が行った良い点はこれだけではありません。同社は SVG が煩雑すぎると考えたため、すべてのフィルター タグを SVG CSS 属性にしました (SVG には IE フィルターよりも多くのフィルターがあり、その機能はより包括的です)。 Firefox は何かが間違っていると判断すると、すぐに独自のプライベート プロパティのセットを作成しましたが、プレフィックスは -webkit- から -moz- に変更されました。 Opera の反応は比較的鈍かったと言わざるを得ません。Opera の CTO は CSS の発明者である Hakon Wium Lie であり、彼は他人が自分のことに何かをすることを好まないからです。したがって、線形グラデーションを実装するのは非常に困難です。IE では SVG を動的に作成する必要があり、Safari では -webkit を使用する必要があります。 -接頭辞付きの CSS プライベート プロパティ。opera は SVG を使用する必要があります。では、一つ一つ突破していきましょう。
IE は、DXImageTransform.Microsoft.Gradient フィルターを使用する必要があります (最後の Gradient の最初の文字が大文字か小文字かは関係ありません)。
属性 | 说明 |
---|---|
enabled | 是否启用滤镜,默认为true |
gradientType | 是垂直渐变还是水平渐变,默认是0(垂直渐变),1为水平渐变 |
startColorStr | 起始颜色,能接受一个8位hex颜色值,从#FF000000到#FFFFFFFF,默认是蓝色#FF0000F;或者使用red,green等颜色值F |
endColorStr | 结束颜色,能接受一个8位hex颜色值,从#FF000000到#FFFFFFFF,默认是黑色#FF000000 |
startColor | 作用同startColorStr,接受一个0到4294967295整体颜色值,没有默认值 |
endColor | 作用同endColorStr,接受一个0到4294967295整体颜色值,没有默认值 |
[Ctrl A ですべて選択 注: 外部 Js を導入する必要がある場合は、実行するために更新する必要があります]
次に、SVG 線形グラデーションの実装について話しましょう。関連する CSS プライベート プロパティはこれから派生します。 SVG のアップロードをサポートするスペースがないため、SVG を動的に生成することしかできません。私にとって最善のことは、動的に実装できることで、少なくともリクエストの数を減らし、大なり記号と小なり記号の記述を減らすことができることです。方法については、次のとおりです。 HTMLを追加して、Googleで検索してください。
linearGradient には、x1、x2、y1、y2 などのいくつかの属性があり、水平または垂直のグラデーションを実現するのに役立ちます。 x1、x2、y2、y2 は、カラー グラデーションの 2 点の座標と考えることができます。
y1 が y2 に等しく、x1 が x2 に等しくない場合、水平方向のグラデーションが実現されます。
x1 が x2 に等しく、y1 が y2 に等しくない場合、垂直方向の勾配が実現されます。
y1 が y2 に等しくなく、x1 が x2 に等しくない場合、角度勾配が達成されます。
コードをコピー コードは次のとおりです。
🎜>< ;!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
xmlns="http://www.w3.org/2000/svg">
<ストップ オフセット="20%" stop-color="rgb(255,255,0)" stop-opacity="1"/> 80% " stop-color="rgb(255,0,0)" stop-opacity="1"/>
コードは次のとおりです。
🎜>< ;!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> xmlns="http://www.w3.org/2000/svg">
<ポリゴン ID = "s1" ポイント = "60,0 120,0 180, 60 180,120 120,180 60,180 0,120 0,60" fill="url(#gradient)"/>
[Ctrl A を押してすべて選択します 注: 外部 Js を導入する必要がある場合は、実行するために更新する必要があります]
コードをコピー
コードは次のとおりです: