bill 2 years ago
parent
commit
cb5bb08727
3 changed files with 31 additions and 14 deletions
  1. 14 1
      src/views/draw-file/board/index.js
  2. 15 11
      src/views/draw-file/eshape.tsx
  3. 2 2
      src/views/draw-file/modal.tsx

+ 14 - 1
src/views/draw-file/board/index.js

@@ -145,7 +145,20 @@ export const create = (store, canvas) => {
       layer.uiControl.setAttributes(bgImage, 'update', url)
     },
     export() {
-      return new Promise(resolve => resolve(layer.uiControl.menu_screenShot()))
+      const $canvas = document.createElement('canvas')
+      $canvas.width = canvas.width
+      $canvas.height = canvas.height
+
+      const cctx = $canvas.getContext('2d');
+      cctx.rect(0, 0, $canvas.width, $canvas.height)
+      cctx.fillStyle = '#fff'
+      cctx.fill()
+      cctx.drawImage(canvas, 0, 0, $canvas.width, $canvas.height);
+      
+      return new Promise(resolve => {
+        // resolve(layer.uiControl.menu_screenShot())
+        $canvas.toBlob(resolve, "image/jpeg", 1)
+      })
     },
     calcTableShape(data) {
       return new Promise(resolve => {

+ 15 - 11
src/views/draw-file/eshape.tsx

@@ -46,18 +46,22 @@ const TextInput = ({ shape }: { shape: ExtractShape<'text'> }) => {
   }
   return (
     <Form.Item label="内容">
-      <Input 
-        style={{ width: 120 }}
-        value={text}
-        onKeyDown={
-          ev => {
-            ev.key === 'Enter' && onChang()
-            ev.stopPropagation()
+      <Input.Group compact>
+        <Input 
+          style={{ width: 120 }}
+          value={text}
+          onKeyDown={
+            ev => {
+              ev.key === 'Enter' && onChang()
+              ev.stopPropagation()
+            }
           }
-        }
-        onBlur={onChang}
-        onChange={ev => setText(ev.target.value)}
-      />
+          onBlur={onChang}
+          onChange={ev => setText(ev.target.value)}
+        />
+        <Button type="primary" onClick={onChang}>确定</Button>
+      </Input.Group>
+      
     </Form.Item>
   )
 }

+ 2 - 2
src/views/draw-file/modal.tsx

@@ -154,14 +154,14 @@ const getFuseImage = async (iframe: HTMLIFrameElement) => {
   if (isLaser) {
     const sdk = await targetWindow.__sdk
     return new Promise<FuseImageRet>(resolve => {
-      sdk.scene.screenshot(900, 900).done((data: string) => {
+      sdk.scene.screenshot(540, 390).done((data: string) => {
         resolve({ type: ImageType.FUSE, blob: base64ToBlob(data) })
       })
     })
   } else {
     const sdk = targetWindow.__sdk
     return new Promise<FuseImageRet>(resolve => {
-      sdk.Camera.screenshot([ {width: 2048, height: 1024, name: '2k' }],false).then((result: any)=>{
+      sdk.Camera.screenshot([ {width: 540, height: 390, name: '2k' }],false).then((result: any)=>{
         resolve({ type: ImageType.KANKAN, blob: base64ToBlob(result[0].data) })
       })
     })