以编程方式居中svg路径

以编程方式居中svg路径,svg,path,alignment,centering,Svg,Path,Alignment,Centering,我正在编写一个PHP脚本,它根据访问者的屏幕分辨率从SVG文件生成jpg墙纸。墙纸由圆形渐变(矩形)背景和顶部的路径组成。如何将路径水平和垂直居中于矩形?请记住,矩形的大小和比例不是常数。我应该将不同svg文件的背景和路径分开,还是有一种简单的方法来集中路径?也许是一个框架?如果你知道路径的坐标,你可以取x/y坐标的总和除以坐标数,这将给出坐标集的平均位置。然后,将每个坐标偏移正方形宽度/高度一半的坐标,再加上任何偏移,减去坐标集中心与正方形宽度/高度一半之间的差值 我想,这会导致坐标在正方形内

我正在编写一个PHP脚本,它根据访问者的屏幕分辨率从SVG文件生成jpg墙纸。墙纸由圆形渐变(矩形)背景和顶部的路径组成。如何将路径水平和垂直居中于矩形?请记住,矩形的大小和比例不是常数。我应该将不同svg文件的背景和路径分开,还是有一种简单的方法来集中路径?也许是一个框架?

如果你知道路径的坐标,你可以取x/y坐标的总和除以坐标数,这将给出坐标集的平均位置。然后,将每个坐标偏移正方形宽度/高度一半的坐标,再加上任何偏移,减去坐标集中心与正方形宽度/高度一半之间的差值


我想,这会导致坐标在正方形内居中(现在还早,我刚开始喝第一杯咖啡,所以我可能错了)。当然,这是假设您知道所有的变量(正方形的宽度/高度、应用的任何偏移量和路径的坐标)。

如果您知道路径的坐标,您可以取x/y坐标的总和,除以坐标数,这将给出坐标集的平均位置。然后,将每个坐标偏移正方形宽度/高度一半的坐标,再加上任何偏移,减去坐标集中心与正方形宽度/高度一半之间的差值


我想,这会导致坐标在正方形内居中(现在还早,我刚开始喝第一杯咖啡,所以我可能错了)。当然,这是假设您知道所有的变量(正方形的宽度/高度、应用的任何偏移量和路径的坐标)。

这可以通过使用嵌套的
元素和
保留的aspectratio
属性轻松实现。将背景放在外部svg中,将路径放在内部svg中


这可以通过使用嵌套的
元素和
preserveAspectRatio
属性轻松实现。将背景放在外部svg中,将路径放在内部svg中



欢迎来到S.O.此社区旨在帮助您解决特定问题和编写您尝试过的代码。您尝试了什么来解决您的问题?欢迎来到S.O.这个社区旨在帮助您解决一个特定的问题和您尝试过的代码。你试图解决什么问题?