0
我在这个svg中嵌入了两个图像,但图像没有显示出来。我做了什么错?svg中嵌入的位图不显示
http://dl.dropbox.com/u/5363697/whirl_browserready.svg
更多信息:
我做的图像与下面的代码嵌入,在情况下,它可以帮助:
xpath_expr = '//*[@{1}="{0}"]'.format(layername, INKSCAPE_XPATH('label'))
layer_el = svg_doc.xpath(xpath_expr,
namespaces = NE_NS_MAP
)[0]
obj_id = layer_el.attrib['id']
# Keep it safe somewhere, now export that little element as an image
output_el = tempfile.NamedTemporaryFile(
suffix='_temp.svg')
cmd_line = [
'inkscape',
'--export-id=' + obj_id,
'--export-id-only',
'--export-area-drawing',
'--export-dpi=90', # Change here if required
'--export-png=' + output_el.name,
REL_SIMPLIFIED_LOCATION
]
subprocess.check_call(cmd_line)
# Now load back the file, as a 'buffer'
whole_file = output_el.read()
assert len(whole_file) > 0
bf = base64.b64encode(whole_file)
# Change that 'g' element by an 'image' element
g_element = etree.Element(SVG('image'))
g_element.attrib[XLINK('href')] = "data:image/png;base64," + bf
(width, height) = get_object_size(obj_id)
print(width,height)
g_element.attrib[SVG('width')] = str(width)
g_element.attrib[SVG('height')] = str(height)
svg_doc.replace(layer_el, g_element)