SVG路径对象和解析器
项目描述
svg.transform
这是一个用于svg.transforms的库。
这已经是我多年的待办事项列表之一,但我还没有实现它,因为我不需要它,制作一个你不需要的库是愚蠢的。但是,由于没有人 else 在实现这个,尽管它非常简单,所以我还是做了。愤怒驱动开发是一种东西。:-D
欢迎。
我正在寻找有人接管这个项目,我甚至还没有开始写代码。你也可以接管 svg.path,我也不再使用它了。
用法
您可以使用以下命令创建变换矩阵
* svg.transform.translate_matrix(tx, ty=0): Returns a matrix that will translate in x and y * svg.transform.scale_matrix(sx, sy=None): Returns a matrix that will scale in x and y * svg.transform.rotate_matrix(r, cx=0, cy=0): Returns a matrix that will rotate, with optional offset * svg.transform.skewx_matrix(ax): Returns a matrix that will skew in the x axis * svg.transform.skewy_matrix(ay): Returns a matrix that will skew in the y axis * svg.transform.matrix_matrix(a, b, c, d, e, f): Returns a free form translation matrix
例如,像这样
>>> from svg import transform >>> >>> transform.translate_matrix(5, 8) array([[ 1, 0, 5], [ 0, 1, 10], [ 0, 0, 1]])
您通过应用矩阵乘法来使用这个矩阵
>>> from array import array >>> >>> old_x = 10 >>> old_y = 10 >>> >>> res = transform.translate_matrix(5, 8) @ array("f", [old_x, old_y, 1]) >>> new_x = res[0] >>> new_y = res[1] >>> new_x, new_y 15.0, 18.0
您还可以直接从SVG变换属性创建变换矩阵
>>> transform.parse("translate(-10 -20) scale(2) rotate(45) translate(5 10)") array([[ 1.05064398, -1.70180705, -21.7648506 ], [ 1.70180705, 1.05064398, -0.98452498], [ 0. , 0. , 1. ]])
贡献者
Lennart Regebro <regebro@gmail.com>, 原始作者
变更日志
0.1b1 (2023-05-01)
首次发布
项目详情
关闭
svg.transform-0.1b1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5f3a6676d503d3e0abe4e6597ebf85b8e45035e33691d661f6762ec04b5a7cb2 |
|
MD5 | 9b28907983e01881a5eebc02ebdb904d |
|
BLAKE2b-256 | 3292fe8ad0894813c8922d63fdfad9a7023944d6c4c2a9142d271a39975e82a7 |
关闭
svg.transform-0.1b1-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cfa31422fa63ceac374d6f32ec813525b9498ba5989a15144deab63abc1ccb3f |
|
MD5 | 2a0416dcba42b3346c5b09013a6f4162 |
|
BLAKE2b-256 | 08638b59aff29115f555bac006fbbf40055b17d81633c7f6ce8c46c32ef02cbc |