mchoe / SwiftSVG

A simple, performant, and lightweight SVG parser
Other
1.92k stars 230 forks source link

resizeToFit ignores viewBox #180

Open stefanhaustein opened 3 years ago

stefanhaustein commented 3 years ago

Description of the Issue Calling resizeToFit seems to ignore the viewBox specified in the svg image and use the "actual" size of the SVG contents (while ignoring the offset, leading to rendering potentially outside of the specified rect).

Sample SVG Faulty rendering with resizeToFit: the green box is displayed outsider of the UIView, which has a grey background, see screenshot

 <svg viewBox="0 0 30 30">
      <rect x="10" y="10" width="10" height="10" fill="#00ff00"/>
 </svg>
Broken

Working as expected: When the viewBox is filled with content, scaling seems to work as expected; all three boxes are scaled to match the size of the UIView containing the SVGLayer

.

 <svg viewBox="0 0 30 30">
      <rect x="0" y="0" width="10" height="10" fill="#ff0000"/>
      <rect x="10" y="10" width="10" height="10" fill="#00ff00"/>
      <rect x="20" y="20" width="10" height="10" fill="#0000ff"/>
 </svg>
Working
spase84 commented 2 years ago

I have same issue. Have you found any solutions?

jerry1230 commented 2 years ago

same issue too