我正在使用Safari 3d变换来做一些效果。我想使用经典的Coverflow效果放下一些图像。问题是我想知道每个图像用
旋转后的确切宽度-webkit-transform : rotateY( angle deg);
注意我甚至应用透视。
当然,DOM给出了原始图像的宽度,但是如何获得边界框或只是宽度?我尝试使用余弦和三角函数,但我得到的数字与屏幕上的结果不同。可能这是由于观点。无论如何要计算旋转后的宽度我刚做完:ImageWidth * cos(angle)。如果有办法获得转换对象的边界框,我将完成它。
答案 0 :(得分:1)
我自己还没有对此进行测试,但想到的一个潜在解决方案是在旋转图像的每个角上模拟鼠标事件,然后使用这些事件的属性来查找边界区域。
This question有一个解决方案,用于调度传入一些参数的鼠标事件。在您的情况下,在从图像调度的模拟鼠标事件中,layerX
和layerY
将在对象中空间。然后你可以听取该事件并使用其pageX
和pageY
来获取世界空间中的坐标。
这主要是推测性的,但如果一个虚假的鼠标事件就像一个真实的事件,你应该能够获得这些数字,而不需要繁琐的数学运算。