Commit 2c35a49a authored by 罗超's avatar 罗超

支持无画板导入

parent 6b6c0d52
......@@ -13,10 +13,10 @@ export const ResolveThumbHandler = async (psd:any)=>{
let imgs:Array<any> = []
let imgBase64String = psd.image.toBase64()
if(!isNotArtboard(_children)){
for (let i = 0; i < _children.length; i++) {
Z_INDEX = 2000
const item = _children[i];
if(item.layer.artboard && item.layer.visible) {
let cropImagePath = await cropImage(imgBase64String,"image/jpeg",item.layer.artboard().export().coords)
......@@ -24,6 +24,11 @@ export const ResolveThumbHandler = async (psd:any)=>{
imgs.push(imagePath)
}
}
}else{
let cropImagePath = await cropImage(imgBase64String,"image/jpeg",psd.tree())
let imagePath = await compressionThumbnail(cropImagePath,"image/jpeg",600)
imgs.push(imagePath)
}
return imgs
}
......@@ -34,14 +39,13 @@ export const generateUniqueId = () => {
}
export const ResolvePsdToSliderHandler = async (psd:any) => {
const { slides } = storeToRefs(useSlidesStore())
const psdTree = psd.tree()
const ID_PREV = "import-slide-"
let items:Array<any> = psd.tree().children().filter((x:any)=>x.layer.visible)
let items:Array<any> = psdTree.children().filter((x:any)=>x.layer.visible)
let sliders:Array<Slide> = []
if(items && items.length>0){
if(!isNotArtboard(items)){
for (let i = 0; i < items.length; i++) {
const x = items[i];
// let t =CreateDefaultSlider(ID_PREV+i)
// let randomNum = Math.floor(Math.random()*100)+i
......@@ -53,11 +57,16 @@ export const ResolvePsdToSliderHandler = async (psd:any) => {
if(_children && _children.length>0){
const {top,left} = x.layer.artboard().export().coords
t.elements = (await GetSlidersHandler(_children,left,top)).reverse()
}
}
sliders.push(t)
}
}else{
let t =CreateDefaultSlider(ID_PREV+0+generateUniqueId())
t.isTripItems=false
t.elements = (await GetSlidersHandler(items,psdTree.left,psdTree.top)).reverse()
sliders.push(t)
}
}
if(slides.value.length>0 && !(slides.value.length==1 && slides.value[0].elements.length==0)){
let copySlides = JSON.parse(JSON.stringify(slides.value))
......@@ -68,23 +77,37 @@ export const ResolvePsdToSliderHandler = async (psd:any) => {
}
}
const isNotArtboard = (items:any)=>{
return !(items.find((x:any)=>x.layer.artboard))
}
export const ResolvePsdDrawingBoardSize= async (psd:any) => {
let items:Array<any> = psd.tree().children().filter((x:any)=>x.layer.visible)
const psdTree = psd.tree()
let DrawingBoardSize = {
Width: 0,
Height: 0
}
if(!isNotArtboard(items)){
if(items && items.length>0){
for (let i = 0; i < items.length; i++) {
const x = items[i];
const {_children} = x
if(_children && _children.length>0){
if(x.layer.artboard){
DrawingBoardSize = {
Width: x.layer.artboard().export().coords.right-x.layer.artboard().export().coords.left,
Height: x.layer.artboard().export().coords.bottom-x.layer.artboard().export().coords.top
}
}
}
}
}
}else{
DrawingBoardSize = {
Width: psdTree.right-psdTree.left,
Height: psdTree.bottom-psdTree.top
}
}
return DrawingBoardSize
......@@ -117,7 +140,6 @@ const CreateDefaultSlider = (id:string):Slide =>{
const GetSlidersHandler = async (child:any[],offsetLeft:number,offsetTop:number,groupId:string ='') : Promise<PPTElement[]> =>{
let elements = [] as Array<PPTElement>
for (let i = 0; i < child.length; i++) {
const x= child[i]
Z_INDEX--
......@@ -137,7 +159,6 @@ const GetSlidersHandler = async (child:any[],offsetLeft:number,offsetTop:number,
}
//groupId=''
}
return elements
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment