Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
pptist
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
viitto
pptist
Commits
2c35a49a
Commit
2c35a49a
authored
Aug 20, 2024
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
支持无画板导入
parent
6b6c0d52
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
59 additions
and
38 deletions
+59
-38
resolve.ts
src/utils/psdParser/resolve.ts
+59
-38
No files found.
src/utils/psdParser/resolve.ts
View file @
2c35a49a
...
@@ -13,16 +13,21 @@ export const ResolveThumbHandler = async (psd:any)=>{
...
@@ -13,16 +13,21 @@ export const ResolveThumbHandler = async (psd:any)=>{
let
imgs
:
Array
<
any
>
=
[]
let
imgs
:
Array
<
any
>
=
[]
let
imgBase64String
=
psd
.
image
.
toBase64
()
let
imgBase64String
=
psd
.
image
.
toBase64
()
for
(
let
i
=
0
;
i
<
_children
.
length
;
i
++
)
{
if
(
!
isNotArtboard
(
_children
)){
for
(
let
i
=
0
;
i
<
_children
.
length
;
i
++
)
{
Z_INDEX
=
2000
Z_INDEX
=
2000
const
item
=
_children
[
i
];
const
item
=
_children
[
i
];
if
(
item
.
layer
.
artboard
&&
item
.
layer
.
visible
)
{
if
(
item
.
layer
.
artboard
&&
item
.
layer
.
visible
)
{
let
cropImagePath
=
await
cropImage
(
imgBase64String
,
"image/jpeg"
,
item
.
layer
.
artboard
().
export
().
coords
)
let
cropImagePath
=
await
cropImage
(
imgBase64String
,
"image/jpeg"
,
item
.
layer
.
artboard
().
export
().
coords
)
let
imagePath
=
await
compressionThumbnail
(
cropImagePath
,
"image/jpeg"
,
600
)
let
imagePath
=
await
compressionThumbnail
(
cropImagePath
,
"image/jpeg"
,
600
)
imgs
.
push
(
imagePath
)
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
return
imgs
...
@@ -34,30 +39,34 @@ export const generateUniqueId = () => {
...
@@ -34,30 +39,34 @@ export const generateUniqueId = () => {
}
}
export
const
ResolvePsdToSliderHandler
=
async
(
psd
:
any
)
=>
{
export
const
ResolvePsdToSliderHandler
=
async
(
psd
:
any
)
=>
{
const
{
slides
}
=
storeToRefs
(
useSlidesStore
())
const
{
slides
}
=
storeToRefs
(
useSlidesStore
())
const
psdTree
=
psd
.
tree
()
const
ID_PREV
=
"import-slide-"
const
ID_PREV
=
"import-slide-"
let
items
:
Array
<
any
>
=
psd
.
tree
()
.
children
().
filter
((
x
:
any
)
=>
x
.
layer
.
visible
)
let
items
:
Array
<
any
>
=
psd
Tree
.
children
().
filter
((
x
:
any
)
=>
x
.
layer
.
visible
)
let
sliders
:
Array
<
Slide
>
=
[]
let
sliders
:
Array
<
Slide
>
=
[]
if
(
items
&&
items
.
length
>
0
){
if
(
items
&&
items
.
length
>
0
){
if
(
!
isNotArtboard
(
items
)){
for
(
let
i
=
0
;
i
<
items
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
items
.
length
;
i
++
)
{
const
x
=
items
[
i
];
const
x
=
items
[
i
];
// let t =CreateDefaultSlider(ID_PREV+i)
// let t =CreateDefaultSlider(ID_PREV+i)
// let randomNum = Math.floor(Math.random()*100)+i
// let randomNum = Math.floor(Math.random()*100)+i
// let t =CreateDefaultSlider(ID_PREV+randomNum)
// let t =CreateDefaultSlider(ID_PREV+randomNum)
let
t
=
CreateDefaultSlider
(
ID_PREV
+
i
+
generateUniqueId
())
let
t
=
CreateDefaultSlider
(
ID_PREV
+
i
+
generateUniqueId
())
t
.
isTripItems
=
x
.
name
.
indexOf
(
'trip_item'
)
!=-
1
t
.
isTripItems
=
x
.
name
.
indexOf
(
'trip_item'
)
!=-
1
const
{
_children
}
=
x
const
{
_children
}
=
x
if
(
_children
&&
_children
.
length
>
0
){
if
(
_children
&&
_children
.
length
>
0
){
const
{
top
,
left
}
=
x
.
layer
.
artboard
().
export
().
coords
const
{
top
,
left
}
=
x
.
layer
.
artboard
().
export
().
coords
t
.
elements
=
(
await
GetSlidersHandler
(
_children
,
left
,
top
)).
reverse
()
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
)
sliders
.
push
(
t
)
}
}
}
}
if
(
slides
.
value
.
length
>
0
&&
!
(
slides
.
value
.
length
==
1
&&
slides
.
value
[
0
].
elements
.
length
==
0
)){
if
(
slides
.
value
.
length
>
0
&&
!
(
slides
.
value
.
length
==
1
&&
slides
.
value
[
0
].
elements
.
length
==
0
)){
let
copySlides
=
JSON
.
parse
(
JSON
.
stringify
(
slides
.
value
))
let
copySlides
=
JSON
.
parse
(
JSON
.
stringify
(
slides
.
value
))
...
@@ -68,23 +77,37 @@ export const ResolvePsdToSliderHandler = async (psd:any) => {
...
@@ -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
)
=>
{
export
const
ResolvePsdDrawingBoardSize
=
async
(
psd
:
any
)
=>
{
let
items
:
Array
<
any
>
=
psd
.
tree
().
children
().
filter
((
x
:
any
)
=>
x
.
layer
.
visible
)
let
items
:
Array
<
any
>
=
psd
.
tree
().
children
().
filter
((
x
:
any
)
=>
x
.
layer
.
visible
)
const
psdTree
=
psd
.
tree
()
let
DrawingBoardSize
=
{
let
DrawingBoardSize
=
{
Width
:
0
,
Width
:
0
,
Height
:
0
Height
:
0
}
}
if
(
items
&&
items
.
length
>
0
){
if
(
!
isNotArtboard
(
items
)){
for
(
let
i
=
0
;
i
<
items
.
length
;
i
++
)
{
const
x
=
items
[
i
];
if
(
items
&&
items
.
length
>
0
){
const
{
_children
}
=
x
for
(
let
i
=
0
;
i
<
items
.
length
;
i
++
)
{
if
(
_children
&&
_children
.
length
>
0
){
const
x
=
items
[
i
];
DrawingBoardSize
=
{
const
{
_children
}
=
x
Width
:
x
.
layer
.
artboard
().
export
().
coords
.
right
-
x
.
layer
.
artboard
().
export
().
coords
.
left
,
if
(
_children
&&
_children
.
length
>
0
){
Height
:
x
.
layer
.
artboard
().
export
().
coords
.
bottom
-
x
.
layer
.
artboard
().
export
().
coords
.
top
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
return
DrawingBoardSize
...
@@ -117,7 +140,6 @@ const CreateDefaultSlider = (id:string):Slide =>{
...
@@ -117,7 +140,6 @@ const CreateDefaultSlider = (id:string):Slide =>{
const
GetSlidersHandler
=
async
(
child
:
any
[],
offsetLeft
:
number
,
offsetTop
:
number
,
groupId
:
string
=
''
)
:
Promise
<
PPTElement
[]
>
=>
{
const
GetSlidersHandler
=
async
(
child
:
any
[],
offsetLeft
:
number
,
offsetTop
:
number
,
groupId
:
string
=
''
)
:
Promise
<
PPTElement
[]
>
=>
{
let
elements
=
[]
as
Array
<
PPTElement
>
let
elements
=
[]
as
Array
<
PPTElement
>
for
(
let
i
=
0
;
i
<
child
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
child
.
length
;
i
++
)
{
const
x
=
child
[
i
]
const
x
=
child
[
i
]
Z_INDEX
--
Z_INDEX
--
...
@@ -137,7 +159,6 @@ const GetSlidersHandler = async (child:any[],offsetLeft:number,offsetTop:number,
...
@@ -137,7 +159,6 @@ const GetSlidersHandler = async (child:any[],offsetLeft:number,offsetTop:number,
}
}
//groupId=''
//groupId=''
}
}
return
elements
return
elements
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment