我在画布中绘制了多个图像,但我希望用户能够定义图像的重叠。换言之,用户选择出现在前面的图像和出现在后面的图像。我怎么能做到这一点?
问问题
2325 次
3 回答
5
使用“min-height”和“min-width”创建 div 用于排序图表。
于 2019-10-30T10:07:35.273 回答
1
您可以做到这一点,假设您只关心将下一个图像渲染到画布上“前面”或“后面”已经渲染的图像(即不事后渲染图像“在”两个图像之间)在画布上渲染)使用globalCompositeOperation
2d 画布上下文的属性。MDN 有一个说明性示例和全面的文档。基本上,在您的情况下,如果您想在“上方”渲染下一张图像,您将使用"source-over"
此属性的值,如果您想在现有内容后面渲染它,请使用"destination-over"
.
如果您想更详细地控制超过 2 个图像的重叠,则必须按照迄今为止的评论中的建议调整它们的呈现顺序(即将图像放入数组中,以所需的方式对数组进行排序,然后渲染它们)。
于 2012-09-11T12:35:57.617 回答
0
顶部的图像始终是最后绘制的图像。
我在将图像放在前面时使用的一种解决方案,当它被选中时,将所有图像存储在数组中 - 这也将是绘制顺序 - 并且要位于顶部的图像只是从数组中取出并放置在结束,因此处于顶部。
于 2012-09-11T21:46:54.410 回答