From cba825cdbfbd2107c2d406094e8614c750622139 Mon Sep 17 00:00:00 2001 From: ShawnPhang Date: Sun, 18 Aug 2024 21:09:08 +0800 Subject: [PATCH] code: fix psd reading fail image --- src/utils/plugins/psd/helper.ts | 30 +++++++++++++++++------------- src/views/Psd.vue | 2 +- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/utils/plugins/psd/helper.ts b/src/utils/plugins/psd/helper.ts index 04aafa7..fb7292e 100644 --- a/src/utils/plugins/psd/helper.ts +++ b/src/utils/plugins/psd/helper.ts @@ -1,21 +1,25 @@ /* * @Author: ShawnPhang * @Date: 2024-08-17 18:45:24 - * @Description: + * @Description: * @LastEditors: ShawnPhang - * @LastEditTime: 2024-08-17 18:46:58 + * @LastEditTime: 2024-08-18 20:49:49 */ export function createBase64(src: any, { width, height }: any) { - const canvas = document.createElement('canvas') - canvas.width = width - canvas.height = height - const context: any = canvas.getContext('2d', { willReadFrequently: true }) - const imageData = context.getImageData(0, 0, width, height) - const pixelData = imageData.data - const len = src.length - for (let i = 0; i < len; i++) { - pixelData[i] = src[i] + let result = '' + if (src && width) { + const canvas = document.createElement('canvas') + canvas.width = width + canvas.height = height + const context: any = canvas.getContext('2d', { willReadFrequently: true }) + const imageData = context.getImageData(0, 0, width, height) + const pixelData = imageData.data + const len = src.length + for (let i = 0; i < len; i++) { + pixelData[i] = src[i] + } + context.putImageData(imageData, 0, 0) + result = canvas.toDataURL('image/png') } - context.putImageData(imageData, 0, 0) - return canvas.toDataURL('image/png') + return result } diff --git a/src/views/Psd.vue b/src/views/Psd.vue index e144008..993c49a 100644 --- a/src/views/Psd.vue +++ b/src/views/Psd.vue @@ -3,7 +3,7 @@ * @Date: 2022-01-10 14:57:53 * @Description: Psd文件解析 * @LastEditors: ShawnPhang - * @LastEditTime: 2024-08-17 18:53:35 + * @LastEditTime: 2024-08-18 21:06:05 -->