Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Basthon
Basthon Kernel
Commits
8d658070
Commit
8d658070
authored
Jan 30, 2021
by
Romain Casati
Browse files
Using new API in graphviz.
parent
33ca2874
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/modules/graphviz/graphviz/backend.py
View file @
8d658070
...
...
@@ -7,6 +7,8 @@ import logging
import
platform
import
subprocess
import
basthon
import
js
import
base64
...
...
@@ -226,32 +228,32 @@ def render(engine, format, filepath, renderer=None, formatter=None, quiet=False,
svg
=
pipe
(
engine
,
'svg'
,
data
,
renderer
,
formatter
,
quiet
)
if
format
==
'svg'
:
js
.
window
.
B
asthon
.
download
(
svg
,
rendered
)
b
asthon
.
download
(
svg
,
rendered
)
else
:
download
PngF
rom
S
vg
(
svg
,
rendered
,
scale
)
download
_png_f
rom
_s
vg
(
svg
,
rendered
,
scale
)
return
rendered
def
download
PngF
rom
S
vg
(
svg
,
filename
,
scale
):
def
download
_png_f
rom
_s
vg
(
svg
,
filename
,
scale
):
""" Download PNG image converted from bytes svg (encoded). """
svg
I
mage
=
js
.
document
.
createElement
(
'img'
)
svg
D
ata
URL
=
'data:image/svg+xml;base64,'
svg
D
ata
URL
+=
base64
.
b64encode
(
svg
).
decode
()
svg
_i
mage
=
js
.
document
.
createElement
(
'img'
)
svg
_d
ata
_url
=
'data:image/svg+xml;base64,'
svg
_d
ata
_url
+=
base64
.
b64encode
(
svg
).
decode
()
def
img_loaded
(
event
):
canvas
=
js
.
document
.
createElement
(
'canvas'
)
canvas
.
width
=
svg
I
mage
.
width
*
scale
canvas
.
height
=
svg
I
mage
.
height
*
scale
canvas
.
width
=
svg
_i
mage
.
width
*
scale
canvas
.
height
=
svg
_i
mage
.
height
*
scale
context
=
canvas
.
getContext
(
"2d"
)
context
.
drawImage
(
svg
I
mage
,
0
,
0
,
canvas
.
width
,
canvas
.
height
)
context
.
drawImage
(
svg
_i
mage
,
0
,
0
,
canvas
.
width
,
canvas
.
height
)
data
=
canvas
.
toDataURL
(
"image/png"
)
data
=
base64
.
b64decode
(
data
.
split
(
','
)[
-
1
])
js
.
window
.
B
asthon
.
download
(
data
,
filename
)
b
asthon
.
download
(
data
,
filename
)
svg
I
mage
.
onload
=
img_loaded
svg
I
mage
.
src
=
svg
D
ata
URL
svg
_i
mage
.
onload
=
img_loaded
svg
_i
mage
.
src
=
svg
_d
ata
_url
def
pipe
(
engine
,
format
,
data
,
renderer
=
None
,
formatter
=
None
,
quiet
=
False
):
...
...
Write
Preview
Supports
Markdown
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