求助,python 如何做到N个小图片随机分布在一个大图片上??
比如有15张20*20的小图片,如何让这些小图片随机分布放置到一个500*500的大图片上?要求是要随机角度和随机大小,随机旋转和随机大小我有思路,这随机分布放置应该怎么写?求解 random函数法如何 这种一般都是把坐标随机到一个范围 坐标保存为list,然后随机取图片,随机取list索引 怎么能做到随机不重叠呢? 本帖最后由 wshuo 于 2022-1-11 13:39 编辑songzongsen 发表于 2022-1-2 17:27
怎么能做到随机不重叠呢?
假设你大图片尺寸为`AXB`的大小,那么小图尺寸为`axb`, 那么横向最多摆放 `(A/a)+1` 个(/为整除,最后一个可能是半个,如果正好整除不用+1),纵向同理, 那么 小图片横向坐标位置只能是 `n*a` ,其中(0<=n<=(A/a)+1),纵坐标同理。那么就可以确定坐标位置,将这些横纵坐标分别放入两个列表,每一次随机从两个列表中取出一个横坐标和纵坐标,然后将其取出的坐标从原始的列表中删除(防止重复摆放),以便下一次取出就可以了。 wshuo 发表于 2022-1-11 13:37
假设你大图片尺寸为`AXB`的大小,那么小图尺寸为`axb`, 那么横向最多摆放 `(A/a)+1` 个(/为整除,最 ...
您这个逻辑的话,得到的最终结果是排列的整整齐齐的吧? 排个序,再乱序就行了 其实就是想做到图中的效果,比如排列整齐的是素材图,后面几张是想达到的效果,随机放大缩小,随机旋转,随机分布放置到一定的范围内,最后导出图片 songzongsen 发表于 2022-1-12 15:35
您这个逻辑的话,得到的最终结果是排列的整整齐齐的吧?
是的,我没注意他说随机旋转,如果旋转的话可以用小图片中的对角线长度 代替我上面说的 a , 这样就能保证不重叠了
页:
[1]