我正在将矢量从设计工具(草图)展平为 PNG。向量可能有阴影:
在这种情况下,展平前的 X 和 Y 为 100x100,展平前的宽度和高度也是 100x100。
出于自动化原因,我在后台自动执行此矢量到 PNG 展平(它是在服务器上运行的 CLI)。然后,该工具会为我提供 PNG 的新宽度和高度,但与下图不同的是,新的或增量 X 和 Y 是未知的:
正如你在上面看到的,有时这些向量有阴影,这会导致图像的框架在展平时更大,这样阴影就会包含在导出的图像中。但是,这也意味着必须调整新帧的 X 和 Y,以使新帧的渲染部分仍位于其原始位置。
这就是为什么新的 X 和 Y 为 29x44(宽度和高度为 233x244)的原因。
问题是如何根据原始向量的属性(包括阴影道具 x、y、模糊、散布)和/或新的扁平图像的宽度/高度(已知)来计算新的或增量 X 和 Y。
概括
我需要计算 delta X 和 Y,以使渲染图像的位置与更改其帧大小以包含其扁平形式的阴影之前的位置相同。
拿这个测试用例:
展平前
frame x = 100
frame y = 100
frame width = 100
frame height = 100
shadow x = 0
shadow y = 20
shadow blur = 80
shadow spread = 0
展平后:
frame x = 29 (*)
frame y = 44 (*)
frame width = 233
frame height = 244
除了展平后的框架 x 和 y(标有 *)之外,我拥有上述所有值。如何开发一个公式,从矢量的框架和阴影属性和/或新 PNG 的框架宽度/高度计算此 X、Y 增量?