Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
H
h5-base
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
new-sing
h5-base
Commits
8c3cabf4
Commit
8c3cabf4
authored
Sep 21, 2019
by
chenjundi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
canvas截图
parent
7daa97d6
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
57 additions
and
3 deletions
+57
-3
canvas_bg_1.png
src/assets/share/canvas_bg_1.png
+0
-0
canvas_bg_2.png
src/assets/share/canvas_bg_2.png
+0
-0
share.vue
src/components/newLesson/share.vue
+57
-3
No files found.
src/assets/share/canvas_bg_1.png
0 → 100644
View file @
8c3cabf4
44.7 KB
src/assets/share/canvas_bg_2.png
0 → 100644
View file @
8c3cabf4
42.6 KB
src/components/newLesson/share.vue
View file @
8c3cabf4
...
...
@@ -33,7 +33,8 @@
</div>
<div
class=
"text1"
>
已在唱唱学习
</div>
<div
class=
"text2"
>
<span>
{{
dataSession
.
total_day
}}
</span>
天
<span>
{{
dataSession
.
total_day
}}
</span>
<br
/>
天
</div>
</div>
<div
class=
"item"
>
...
...
@@ -42,7 +43,8 @@
</div>
<div
class=
"text1"
>
今天学习了
</div>
<div
class=
"text2"
>
<span>
{{
minute
}}
</span>
分钟
<span>
{{
minute
}}
</span>
<br
/>
分钟
</div>
</div>
<div
class=
"item"
>
...
...
@@ -101,6 +103,7 @@
</div>
-->
</div>
</div>
<canvas
id=
"canvas"
></canvas>
<img
class=
"canvasImg"
@
touchstart=
"touchStart"
@
touchend=
"touchEnd"
:src=
"canvasData"
alt
/>
<!-- @touchstart="touchStart" -->
<div
class=
"test"
></div>
<div
class=
"white-pannel"
>
...
...
@@ -148,6 +151,8 @@
import
share_code_bg
from
"../../assets/newLesson/share-code-bg.png"
;
import
img_logo
from
"../../assets/newLesson/logo@2x.png"
;
import
share_tips
from
"../../assets/Bitmap@2x.png"
;
import
canvas_bg_1
from
"@/assets/share/canvas_bg_1.png"
;
import
canvas_bg_2
from
"@/assets/share/canvas_bg_2.png"
;
export
default
{
name
:
"share"
,
...
...
@@ -206,6 +211,7 @@
this
.
avatarActive
=
res
.
avatar
this
.
nicknameActive
=
res
.
nickname
localStorage
.
setItem
(
"userDesc"
,
JSON
.
stringify
(
res
));
})
.
catch
(
res
=>
{
if
(
localStorage
.
getItem
(
"userDesc"
))
{
...
...
@@ -410,7 +416,7 @@
setTimeout
(()
=>
{
this
.
oimgPoint
=
true
;
},
900
);
setTimeout
(()
=>
{
/*
setTimeout(() => {
that.$nextTick(() => {
if (document.getElementById("capture")) {
html2canvas(document.getElementById("capture"), {
...
...
@@ -434,8 +440,53 @@
});
}
});
}, 1200);*/
setTimeout
(()
=>
{
this
.
animationBg
=
true
;
this
.
canvasImg
();
},
1200
);
},
canvasImg
()
{
const
canvas
=
document
.
getElementById
(
'canvas'
);
const
ctx
=
canvas
.
getContext
(
'2d'
);
const
canvasImage
=
new
Image
();
if
(
this
.
totalStarNum
==
3
)
{
canvasImage
.
src
=
canvas_bg_1
;
}
else
{
canvasImage
.
src
=
canvas_bg_2
;
}
let
that
=
this
;
canvasImage
.
onload
=
function
()
{
canvas
.
width
=
this
.
width
;
canvas
.
height
=
this
.
height
;
ctx
.
drawImage
(
this
,
0
,
0
,
canvas
.
width
,
canvas
.
height
);
that
.
fillTextFn
(
ctx
,
"7vw Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif"
,
"#fff"
,
`
${
that
.
nicknameActive
}
家宝宝`
,
360
,
265
);
that
.
fillTextFn
(
ctx
,
"bold 11vw Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif"
,
"#ec7e1f"
,
that
.
dataSession
.
total_day
,
150
,
540
);
that
.
fillTextFn
(
ctx
,
"bold 11vw Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif"
,
"#ec7e1f"
,
that
.
minute
,
360
,
540
);
that
.
fillTextFn
(
ctx
,
"bold 11vw Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif"
,
"#ec7e1f"
,
`
${
that
.
percent
}
%`
,
580
,
540
);
that
.
fillTextFn
(
ctx
,
"bold 11vw Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif"
,
"#1d6588"
,
that
.
lesson
.
title
,
360
,
840
);
that
.
fillTextFn
(
ctx
,
"9vw Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif"
,
"#1d6588"
,
that
.
lesson
.
domTitle
,
360
,
900
);
const
avatarImage
=
new
Image
();
avatarImage
.
setAttribute
(
"crossOrigin"
,
'Anonymous'
);
avatarImage
.
src
=
that
.
avatarActive
;
avatarImage
.
onload
=
function
()
{
ctx
.
arc
(
357
,
173
,
60
,
0
,
2
*
Math
.
PI
);
ctx
.
clip
();
ctx
.
drawImage
(
this
,
297
,
113
,
120
,
120
);
let
dataURL
=
canvas
.
toDataURL
(
"image/jpg"
,
1.0
);
that
.
canvasData
=
dataURL
;
};
};
},
fillTextFn
(
ctx
,
font
,
color
,
title
,
x
,
y
)
{
ctx
.
font
=
font
;
ctx
.
textAlign
=
"center"
;
ctx
.
fillStyle
=
color
;
ctx
.
fillText
(
title
,
x
,
y
);
},
enableShare
:
function
(
option
)
{
let
query
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"classQuery"
));
let
that
=
this
;
...
...
@@ -867,6 +918,9 @@
width: 100%;
z-index: 1300;
}
#canvas {
display: none;
}
.white-pannel {
position: absolute;
z-index: 1301;
...
...
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