Skip to content

Commit 88d7014

Browse files
committed
fix(png): traverse the tree to judge if it has image
1 parent 2e933bd commit 88d7014

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

src/protocol/png.js

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -120,23 +120,20 @@ define(function(require, exports, module) {
120120

121121
//svgUrl = 'data:image/svg+xml;charset=utf-8,' + encodeURIComponent(svgXml);
122122

123-
var allNodes = minder.getAllNode();
124123
var imagesInfo = [];
125124

126-
for(var i = 0; i < allNodes.length; i++) {
127-
var nodeData = allNodes[i].data;
125+
// 遍历取出图片信息
126+
traverse(minder.getRoot());
128127

129-
if (nodeData.image && nodeData.expandState === 'expand') {
130-
/*
131-
* 导出之前渲染这个节点,否则取出的 contentBox 不对
132-
* by zhangbobell
133-
* */
134-
minder.renderNode(allNodes[i]);
128+
function traverse(node) {
129+
var nodeData = node.data;
130+
131+
if (nodeData.image) {
132+
minder.renderNode(node);
133+
var nodeData = node.data;
135134
var imageUrl = nodeData.image;
136135
var imageSize = nodeData.imageSize;
137-
138-
var imageRenderBox = allNodes[i].getRenderBox('ImageRenderer', minder.getRenderContainer());
139-
136+
var imageRenderBox = node.getRenderBox("ImageRenderer", minder.getRenderContainer());
140137
var imageInfo = {
141138
url: imageUrl,
142139
width: imageSize.width,
@@ -147,6 +144,16 @@ define(function(require, exports, module) {
147144

148145
imagesInfo.push(imageInfo);
149146
}
147+
148+
// 若节点折叠,则直接返回
149+
if (nodeData.expandState === 'collapse') {
150+
return;
151+
}
152+
153+
var children = node.getChildren();
154+
for (var i = 0; i < children.length; i++) {
155+
traverse(children[i]);
156+
}
150157
}
151158

152159
return {

0 commit comments

Comments
 (0)