SVGの “non-scaling-stroke “属性のサポート

Deeplからの自動翻訳

オブジェクトの線は、適用される変形に関係なく、元の幅を維持することが望ましい場合があります。例えば、ユーザーの位置と目的地を表示する地図上に線を引くとします。ユーザーが地図を拡大したとき、地図は拡大するが、線の幅はそのままにしたい。

SVG規格では、”non-scaling-stroke “属性は、ストロークの幅がズームやスケーリングに依存しないことを示す。言い換えれば、オブジェクトの線は変形やズームに影響されないということです。

以下は、同じ線の太さの2つの矩形の例です。左の矩形は “non-scaling-stroke “属性を使っていますが、右の矩形はこの属性を使っていません。

SVGファイルを見てみましょう。

<svg viewBox="0 0 90 45" xmlns="http://www.w3.org/2000/svg">
<rect x="1" y="1" width="40" height="40" fill="white" stroke="blue" stroke-width="1px" vector-effect="non-scaling-stroke"/>
<rect x="45" y="1" width="40" height="40" fill="white" stroke="green" stroke-width="1px" />
</svg>

また、「4D SVG」テーマに新しいコマンドを追加しました。描画オブジェクトに「non-scaling-stroke」属性を定義するための SVG_SET_STROKE_VECTOR_EFFECTメソッドで定義できます。

// Create view box
$svgRef

// Save image on disk:=SVG_New (90;45)

// First rectangle with the non-scaling-stroke attribute
$rect1 :=SVG_New_rect ($svgRef;1;40;40;0;0; "blue"; "white";1)
SVG_SET_STROKE_VECTOR_EFFECT ($rect1; "non-scaling-stroke")// Second rectangle$rect2 :=SVG_New_rect ($svgRef;45;1;40;40;0; "green"; "white";1)

File ("/RESOURCES/Images/rectangle.svg").create()
SVG_SAVE_AS_TEXT ($svgRef;File("/RESOURCES/Images/rectangle.svg").platformPath)

// Clear reference
SVG_CLEAR ($svgRef)

Vanessa Talbot
- プロダクトオーナー - Vanessa Talbotは、2014年6月に4Dプログラムチームに参加しました。プロダクトオーナーとして、彼女はユーザーストーリー(ユーザーが期待する新機能とその使用法)を書き、それを具体的な機能仕様に変換する役割を担っています。また彼女の役割は、実装された機能が顧客のニーズを満たしているかどうかを確認することでもあります。入社以来、4Dにおける主要機能の定義に関わってきました。プリエンプティブ/マルチスレッドの新機能の大部分と、非常に複雑なテーマである組み込みアプリケーションの新アーキテクチャに取り組んできました。VanessaはTelecom Saint-Etienneで学位を取得後、Criminal Research Institute でオーディオビジュアル部門の開発者としてキャリアをスタートさせました。また、メディアや医療の分野でも、技術サポートやプロダクションの分野で働いてきました。