使p:imageCropper区域成为一个固定的正方形

Make p:imageCropper area a fixed square

是否可以使用 <p:imageCropper> 按比例裁剪图像?

<p:imageCropper value="#{registerPetForm.croppedImage}" image="#{registerPetForm.uploadedFilename}" />

我会限制用户只能裁剪方形格式的图像:

  ______
 |      |  |  |
 |      |  |  |
 |______|  V  |
 -------->    |
 _____________|

因此具有相同的宽度和高度。我想避免矩形格式:

   __________
  |          |
  |__________|

   or
    _____
   |     |
   |     |      
   |     |
   |_____|

如何使用 <p:imageCropper> 实现此目的?

为此,可以使用带有 doubleaspectRatio 属性。 1.0 的值将使其成为一个精确的正方形。

<p:imageCropper ... aspectRatio="1.0" />
  ______
 |      |
 |      |
 |______|

纵横比表示宽度应该是高度的多少倍。因此,小于 1.0 的值,例如0.5,将使宽度成为高度的0.5倍。

<p:imageCropper ... aspectRatio="0.5" />
  ______
 |      |
 |      |
 |      |
 |      |
 |______|

并且,大于 1.0 的值,例如1.5,将使宽度成为高度的1.5倍。

<p:imageCropper ... aspectRatio="1.5" />
  ___________
 |           |
 |           |
 |___________|