当前位置: 首页 > 知识库问答 >
问题:

liferay门户画布调整大小

史高阳
2023-03-14

我正在使用three.js将webgl嵌入到liferay portlet中。我希望当我对页面布局进行更改以影响portlet大小时,能够让呈现器调整图像(canvas元素)的大小。因此,基本上,无论何时调整portlet的大小,我都希望能够通过三个.js调用来调整画布的大小。js有一个renderer对象,我可以通过它设置大小。问题是获取portlet的宽度。有没有一种方法可以捕获重绘事件并获取用于调整画布元素大小的portlet宽度?

谢谢

共有1个答案

宗翔宇
2023-03-14

您可以同时监听Liferay上的PortletMovedUpdatedLayout事件。

Liferay.on('portletMoved', function(event) {
    var portlet = event.portlet;

    var newWidth = portlet.width(),
        newHeight = portlet.height();

    [...]
});

Liferay.on('updatedLayout', function(event) {
    // Assuming you have Alloy on your script, you can use A.one to get the
    // portlet node. Otherwise, you could use document.getElementById
    var portlet = A.one('#' + portletId);

    var newWidth = portlet.width(),
        newHeight = portlet.height();

    [...]
});
 类似资料:
  • 一直以来,我都在开发一款分辨率为800x480(流行手机分辨率)的应用程序。 我的画布HTML: 现在,为了使其全屏显示其他分辨率,我在调整大小事件后执行以下操作: 这是可行的,但问题是我不能以这种方式保持纵横比。800x480是4:3,但是如果我在5:3的手机上运行这个应用程序,有些东西(尤其是圆圈)看起来会被拉伸。 有没有什么方法可以让它在所有分辨率下看起来都很好,而不必为每个纵横比创建一组独

  • 我有一个问题已经部分解决了,但我很好奇另一个(更好的)解决方法…我想要一个画布,什么填充整个窗口,并调整自己的大小,如果窗口的大小。 根据这个:https://dlemmermann.wordpress.com/2014/04/10/javafx-tip-1-resizable-canvas/和这个:如何在JavaFX中使canvas可调整大小?我已创建(复制)类: 并将以下内容放入viewfie

  • 请看下面的P5代码 这个小应用程序的目的是在画布上拖放图像,根据“上传”图像的宽度和高度改变其大小。 使用:成功加载图像(至少显示图像)后,我将其宽度和高度分配给变量和。接着是画布大小的变化。。。这会导致一个错误,画布的大小与上传的图像相同(在上选中),但不显示任何内容。 使用:当禁用上的画布大小更改并单击画布时,调整大小会完美地显示图像。 应用程序需要在不点击的情况下工作,在删除图像后应该自动更

  • 问题内容: 我正在尝试使用javascript和canvas元素在客户端创建缩略图,但是当我缩小图像时,它看起来很糟糕。看起来好像是在Photoshop中缩小了尺寸,将重采样设置为“最近的邻居”而不是Bicubic。我知道有可能使它看起来正确,因为该站点也可以使用画布来完成它。我已经尝试使用与[[Source]]链接中所示相同的代码,但是看起来仍然很糟糕。是否缺少我需要的设置,需要设置的设置? 编

  • 在javaFX中,调整画布大小没有这样的方法,唯一的解决方案是从画布扩展。 “从画布扩展”是使画布可调整大小的唯一解决方案吗?因为这个解决方案只有在我们不想使用FXML的情况下才起作用,如果我们在FXML中声明一个画布,我们如何使它可以调整大小? 这是我的代码:

  • 我正在尝试用画布调整一些图像的大小,但我不知道如何平滑它们。在photoshop,浏览器等。有几个算法他们使用(例如双三次,双线性),但我不知道这些是不是内置到画布。 这是我的小提琴:http://jsfidle.net/ewupt/ 第一个是正常的调整大小的图像标签,第二个是画布。注意画布是如何不是平滑的。我怎样才能实现‘平滑’呢?