capture 처리 추가
This commit is contained in:
parent
de39eac555
commit
7a0db7abfb
@ -214,6 +214,7 @@ export const SAVE_KEY = [
|
|||||||
'isSortedPoints',
|
'isSortedPoints',
|
||||||
'isMultipleOf45',
|
'isMultipleOf45',
|
||||||
'from',
|
'from',
|
||||||
|
'originColor',
|
||||||
]
|
]
|
||||||
|
|
||||||
export const OBJECT_PROTOTYPE = [fabric.Line.prototype, fabric.Polygon.prototype, fabric.Triangle.prototype, fabric.Group.prototype]
|
export const OBJECT_PROTOTYPE = [fabric.Line.prototype, fabric.Polygon.prototype, fabric.Triangle.prototype, fabric.Group.prototype]
|
||||||
|
|||||||
@ -103,11 +103,11 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
const capture = async (type) => {
|
const capture = async (type) => {
|
||||||
beforeCapture()
|
beforeCapture(type)
|
||||||
|
|
||||||
await handleCanvasToPng(type)
|
await handleCanvasToPng(type)
|
||||||
|
|
||||||
afterCapture()
|
afterCapture(type)
|
||||||
|
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
@ -117,11 +117,23 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 캡쳐 전 처리
|
// 캡쳐 전 처리
|
||||||
const beforeCapture = () => {
|
const beforeCapture = (type) => {
|
||||||
setCanvasZoom(100)
|
setCanvasZoom(100)
|
||||||
canvas.set({ zoom: 1 })
|
canvas.set({ zoom: 1 })
|
||||||
canvas.viewportTransform = [1, 0, 0, 1, 0, 0]
|
canvas.viewportTransform = [1, 0, 0, 1, 0, 0]
|
||||||
|
|
||||||
|
const modules = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE)
|
||||||
|
const circuitNumberTexts = canvas.getObjects().filter((obj) => obj.name === 'circuitNumber')
|
||||||
|
|
||||||
|
if (type === 2) {
|
||||||
|
modules.forEach((module) => {
|
||||||
|
module.set({ originColor: module.fill, fill: null, strokeWidth: 2 })
|
||||||
|
})
|
||||||
|
circuitNumberTexts.forEach((text) => {
|
||||||
|
text.set({ visible: false })
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
canvas.renderAll()
|
canvas.renderAll()
|
||||||
|
|
||||||
// roof polygon들의 중간점 계산
|
// roof polygon들의 중간점 계산
|
||||||
@ -169,13 +181,27 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 캡쳐 후 처리
|
// 캡쳐 후 처리
|
||||||
const afterCapture = () => {
|
const afterCapture = (type) => {
|
||||||
setCanvasZoom(100)
|
setCanvasZoom(100)
|
||||||
canvas.set({ zoom: 1 })
|
canvas.set({ zoom: 1 })
|
||||||
canvas.viewportTransform = [1, 0, 0, 1, 0, 0]
|
canvas.viewportTransform = [1, 0, 0, 1, 0, 0]
|
||||||
changeFontSize('lengthText', lengthText.fontSize.value)
|
changeFontSize('lengthText', lengthText.fontSize.value)
|
||||||
changeFontSize('circuitNumber', circuitNumberText.fontSize.value)
|
changeFontSize('circuitNumber', circuitNumberText.fontSize.value)
|
||||||
changeFontSize('flowText', flowText.fontSize.value)
|
changeFontSize('flowText', flowText.fontSize.value)
|
||||||
|
|
||||||
|
const modules = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE)
|
||||||
|
const circuitNumberTexts = canvas.getObjects().filter((obj) => obj.name === 'circuitNumber')
|
||||||
|
if (type === 2) {
|
||||||
|
modules.forEach((module) => {
|
||||||
|
module.set({
|
||||||
|
fill: module.originColor,
|
||||||
|
strokeWidth: 0.3,
|
||||||
|
})
|
||||||
|
})
|
||||||
|
circuitNumberTexts.forEach((text) => {
|
||||||
|
text.set({ visible: true })
|
||||||
|
})
|
||||||
|
}
|
||||||
canvas.renderAll()
|
canvas.renderAll()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user