2016-10-11 72 views
1

我目前使用Fabric.js作爲Web應用程序,允許用戶以結構化的方式輸入和操作畫布對象。剪輯選擇區域ClipTo - Fabric JS

我們提供結構的機制之一是讓用戶可以放置圖像的「邊界框」。當圖像放入這些圖像中時,它們可以平移和縮放,但會剪裁到原始邊界框的大小和位置。

例子: A clipped image

這裏我們看到了剪切區域,其控制可見其外部短促的區域。

這很好。用戶可以平移圖像,裁剪框保持靜止。我們找到了這個。但是,如果客戶端添加了另一個圖像,並且此圖像位於第一個圖像跨越的區域下方(但由於剪切而不可見),我們無法選擇第二個對象。

實施例:

A selection obscured, clipped image

這裏的面部圖像是下方,其中高爾夫球圖像延伸,其夾範圍之外。沒有取消選擇,人臉圖像不可選。可以想象,如果三個人都在這裏,可以永久遮掩人臉圖像的選擇區域,而不用移動其他兩個圖像來達到它。

+0

我創建了一個的jsfiddle說明這在沙箱環境: http://jsfiddle.net/Aubron/jjLe9wps/89/ 請注意,如果您選擇谷歌的標誌,哈巴狗是不可選,直到谷歌徽標移動笨拙,因爲它擴展區域重疊帕格。 –

+0

我想你應該清楚地說明這裏的問題。它是否阻止用戶與畫布上的某些圖像進行交互?那麼你應該讓用戶帶來前線和後送。 – woohoo

+0

這是一個與剪輯剪輯的圖像問題,使圖像的剪切區域變得模糊。無法使用sendToFront,因爲在任何時候用戶必須能夠選擇三個中的任何一個。原來,解決方案只是perPixelTargetFind –

回答

2

原來,這是perPixelTargetFind的一個特性,我沒有意識到,我認爲它只適用於png透明度,而不是剪裁透明度。

所以,如果你也面臨這個問題,只需打開perpixeltargetfind,你可能會解決你的問題。

謝謝!

+0

你可以更新你的js小提琴並在這裏發佈? – StefanHayden