capture 처리 추가

This commit is contained in:
hyojun.choi 2025-08-07 18:21:54 +09:00
parent de39eac555
commit 7a0db7abfb
2 changed files with 31 additions and 4 deletions

View File

@ -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]

View File

@ -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()
} }