输出的HTML文件不显示来自C生成代码的图像

时间:2015-10-27 23:47:33

标签: html c svg

所以我编写了一个C程序,输出一个HTML文件,打算输出1000个SVG圆,矩形和椭圆。当我在浏览器中运行html文件时,它无法打印出任何形状。下面是代码的哪一部分(开头和结尾,因为它是千行)

    <!DOCTYPE html>
<html>
<head>
<title>CSC 111 Fall 2015 -  Assignment 5 Part 2</title>
</head>
<body>
CSC 111 Art: <br /><svg width="800px" height="800px">
<g transform="translate(0 800)">
<g transform="scale(1 -1)">
<rect x="0" y="0" width="800" height="800" style="fill: none; stroke-width:     5; stroke:rgb(255,255,255); stroke-opacity:1.0;" />
<circle cx="63" cy="373" r="58" style="fill:rgb(170,190,91); fill-    opacity:0.0"/>
<rect x="265" y="271" width="242" height="325" style="fill:rgb(90,23,196); fill-opacity:0.0"/>
<rect x="356" y="179" width="42" height="314" style="fill:rgb(91,127,53); fill-opacity:0.0"/>
<circle cx="26" cy="327" r="79" style="fill:rgb(151,136,102); fill-opacity:0.0"/>
<rect x="202" y="280" width="127" height="398" style="fill:rgb(85,47,254); fill-opacity:0.0"/>
<circle cx="298" cy="347" r="38" style="fill:rgb(33,95,51); fill-opacity:0.0"/>
<circle cx="112" cy="266" r="19" style="fill:rgb(106,251,120); fill-opacity:0.0"/>
<rect x="275" y="275" width="140" height="37" style="fill:rgb(187,37,21); fill-opacity:0.0"/>
<circle cx="395" cy="11" r="93" style="fill:rgb(139,247,93); fill-opacity:0.0"/>
<rect x="226" y="93" width="102" height="204" style="fill:rgb(140,222,148); fill-opacity:0.0"/>
<circle cx="9" cy="118" r="72" style="fill:rgb(232,14,183); fill-opacity:0.0"/>
<rect x="242" y="148" width="140" height="254" style="fill:rgb(167,132,206); fill-opacity:0.0"/>
<rect x="375" y="397" width="138" height="295" style="fill:rgb(179,175,20); fill-opacity:0.0"/>
</g></g>
</svg>
</body>
</html>

任何人都可以指出代码中的问题会导致它无法在浏览器中运行吗?

1 个答案:

答案 0 :(得分:1)

您发布的代码段在浏览器中运行得很好但我直接看到了两个问题。

首先是颜色选择,但根据您的浏览器配色方案,此可能根本不是问题。

如果您的浏览器背景颜色为白色,那么您永远不会看到rgb(255,255,255)指定的对象,只是因为它们会被渲染为白底白字。

第二个(这是真正的问题),你永远不会看到fill-opacity:0.0的对象,因为它们完全透明(实际上是不可见的)。

如果你只想要坚实的非透明形状,你应该使用1.0,当然,你可以在 01之间选择值不同程度的不透明度。