怎么实现一个这样的效果
c#吧
全部回复
仅看楼主
level 3
a5417201
楼主
很久以前看到的 我的思路是做一个矩形的数组 然后再根据比例控制每个对象的长宽 但是不是很明白要实现这种拼图的效果
2021年09月17日 09点09分
1
level 3
a5417201
楼主
Unity也行 讲讲思路 或者说个关键词 我可以自己搜 不需要劳神各位写代码
2021年09月17日 09点09分
2
level 6
haopen1
用html一下就实现了
2021年09月18日 06点09分
3
a5417201
来点思路
2021年09月18日 07点09分
a5417201
其实我也知道css应该能实现 但是我不知道搜什么 尴尬
2021年09月18日 07点09分
haopen1
@a5417201
css flex布局,
2021年09月18日 08点09分
level 1
a396662708
不是有控件
2021年09月18日 09点09分
5
level 13
守a的紫菜👺
搞几个控件然后代码改属性
2021年09月20日 14点09分
6
level 9
yzjszl
先排序,然后分割最大的,对剩下的旋转,不停地分割最大的,直到分割完,不需要数组,那样太复杂了,就是个简单的递归。
2021年09月20日 16点09分
7
a5417201
递归可以 但是不是又需要再排序一下
可能我表达不清楚,假设总的值v是100 这一次的值v1是30 那么就让它在(0,0)的位置上绘制一个5*6的矩形, 标记这个区域为 a1 那下一次递归的值v1是20 这次要在什么位置 肯定不能在a1 不然达不到这种拼合的效果
2021年09月22日 05点09分
a5417201
也可以加一个边界的限制 但那样肯定难免出现不是完美拼合的情况 我设想的数组的模式是这样的 首先这个总区域 一定是已知的 假设是100*100 那么可以n等分 成为n个矩形 假设n是4 那么我做一个长度是4的矩形数组 这个数组代表区域 a0-a3 也可以用字典结构 然后区域再等分成m个矩形 因为宽是固定的 所以
2021年09月22日 06点09分
a5417201
很好控制 但是绝对达不到图上的弹性布局的效果
2021年09月22日 06点09分
yzjszl
一次只绘制一个高啊,长是占满的,下一次就旋转再绘制,第一个比如30%,那就是高30%来绘制第一个,第二个比如是20%,那就是剩下的70%里面,旋转绘制(20/70=0.285)28%,然后剩下52%,继续这样绘制....直到绘制完
2021年09月22日 13点09分
level 10
TERA_ARISU
你把问题简化一下:如何按比例切割矩形
2021年09月22日 22点09分
9
level 3
多米诺艾尔
HTML/css只需要三个div就能实现
用Javascript控制。
或者你可以去学习一下C#的其他框架,,我很少使用c sharp,不过一般比较有名的都能绘制UI,甚至是Unity,或者C++的QT,SDL等等。
就最简单的方法,直接使用前端3语言,
给楼主一个思路,创建三个盒子,在第2个盒子再创建两个盒子,利用css的flex布局,再利用JavaScript,获取到。最大盒子的边,来设置小盒子的宽
2021年09月24日 23点09分
10
多米诺艾尔
最后你只需要修改大盒子的宽度,就能一定比例的缩小和放大。
2021年09月24日 23点09分
多米诺艾尔
对于初学者,最好这样做。 你可能会需要的关键词: HTML: div,id,class css: flex,width,height,bancground-color js: document,offset(只读)通过style设置
2021年09月25日 00点09分
level 9
低价售松花蛋♂
用wpf的grid标签
2021年10月13日 02点10分
11
level 9
yzjszl
突然发现 "echarts 矩形树图 " 里有这个图,简直一模一样
,才知道这东西是叫矩形树图
2021年10月14日 06点10分
12
1