我想简单地将文本对象放在使用jsxgraph创建的图像对象下。
该对象在调查时确实给出了正确的图层值,但是它没有在视觉上做到这一点。这适用于非文本对象。这是文本相关的错误吗?
答案 0 :(得分:0)
JSXGraph区分两种类型的文本:display:'html'
和display:'internal'
。前一种类型的文本元素使用HTML标记,并且始终严格位于任何JSXGraph构造的“上方”(因此忽略了层结构)。后者的文本元素类型遵循图层结构。默认值为display:'html'
。
这是一个示例(https://jsfiddle.net/8xms49pu/2/):
var circ = board.create('circle', [[0, 0], 3],
{fillColor: 'yellow', fillOpacity: 0.8});
var txt1 = board.create('text', [1, 1, 'HTML'], {layer: 1});
var txt1 = board.create('text', [-3.2, -1, 'internal'],
{layer: 1, display: 'internal'});
图像可以分层放置。这意味着,还必须使用display:'internal'
。这是一个示例(https://jsfiddle.net/jdw7z1nq/1/):
var im = board.create('image', ['https://jsxgraph.org/wp/img/logo_tw.png', [-3, -3], [6, 6]],
{layer: 10});
var circ = board.create('circle', [[0,0], 3],
{fillColor: 'yellow', layer: 6});
var txt = board.create('text', [1, 1, 'Hello'],
{layer: 5, display: 'internal'});
HTML文本的优点是它们可以包含任何种类的HTML内容,例如MathJax或表单标签或图像,...,因此,您还可以考虑将图像放入文本元素中。