我正在使用fabric.js構建一個編輯器,它將輸出用於打印的圖像。這些將是完整的流血打印,並且我需要一種方法來在畫布上顯示流血邊界之上的所有內容。Fabric.js指南/出血線
到目前爲止,我發現的最佳解決方案是在畫布上畫出4條線,但它們不斷被放在其他對象的後面,並與對象堆疊順序發生混亂。
這似乎應該有一個簡單的解決方案。有什麼想法嗎?
我正在使用fabric.js構建一個編輯器,它將輸出用於打印的圖像。這些將是完整的流血打印,並且我需要一種方法來在畫布上顯示流血邊界之上的所有內容。Fabric.js指南/出血線
到目前爲止,我發現的最佳解決方案是在畫布上畫出4條線,但它們不斷被放在其他對象的後面,並與對象堆疊順序發生混亂。
這似乎應該有一個簡單的解決方案。有什麼想法嗎?
所以你最好的選擇可能是做一團這4條線,每添加一個新的對象,你也需要把線羣組來前面的頁面的時間。
var canvas = new fabric.Canvas('c', {
\t selection: true,
preserveObjectStacking: true,
});
window.canvas = canvas;
var line1 = new fabric.Line([
10, 0,
10, canvas.height
],{
stroke: '#000',
})
var line2 = new fabric.Line([
canvas.width - 10, 0,
canvas.width - 10, canvas.height
],{
stroke: '#000',
})
var line3 = new fabric.Line([
0, 10,
canvas.width, 10
],{
stroke: '#000',
})
var line4 = new fabric.Line([
0, canvas.height - 10,
canvas.width, canvas.height - 10
],{
stroke: '#000',
});
var group = new fabric.Group([
\t line1,
line2,
line3,
line4
]);
group.selectable = false;
group.evented = false;
canvas.add(group);
canvas.add(new fabric.Circle({
left: 300,
top: 300,
radius: 50,
fill: '#9f9',
originX: 'left',
originY: 'top',
centeredRotation: true
}));
group.bringToFront();
canvas {
border: 1px solid #ccc;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.6.3/fabric.js"></script>
<canvas id="c" width="600" height="600"></canvas>
您的解決方案與我已有的解決方案非常相似,只是我不瞭解分組功能。我希望在畫布上畫一個完全不同的方法(不使用對象的畫布),但如果沒有替代方案,我會給你答案。 – BWDesign
作爲結構擴展的建築指南可能是一個很酷的小型圖書館來發布。我不知道如何在對象堆棧中沒有這樣做。 – StefanHayden
我希望有某種延伸。我已經安裝了「對齊準則」擴展(https://github.com/kangax/fabric.js/blob/master/lib/aligning_guidelines.js),因爲它有一些類似的功能,但是沒有辦法繪製靜態指南。它顯示了不屬於對象堆棧的動態指導線。 – BWDesign
請出示你的代碼 – InferOn
我不認爲我有一個相關的問題的任何代碼。我正在尋找一種替代方法來實現我已有的功能。 – BWDesign