D lodepng编译错误

时间:2011-07-05 16:39:47

标签: image-processing compiler-errors d

我在为我的项目编译Lodepng(http://lodev.org/lodepng/)时遇到了一些麻烦。

在Encode.d中我有以下代码,编译器不期望断言语句。 删除此块可以解决问题。

invariant
{
    assert(compressionLevel >=0 && compressionLevel <= 9, "invalid zlib compression level");
    assert(targetColorType == ColorType.Any ||
            targetColorType == ColorType.RGB ||
            targetColorType == ColorType.RGBA, "colortype is not supported");
}

在Decode.d中我遇到了更多的麻烦,错误“没有声明符inout(value)” 对于中间线:

info.backgroundColor.length = chunk.data.length / 2;
foreach(index, inout value; info.backgroundColor)
    value = chunk.data[index * 2];

这里有旧语法有问题,我该如何解决? 还有其他方法可以用简单的方式在D中创建png图像吗?

2 个答案:

答案 0 :(得分:0)

不确定不变问题,但第二个问题应该通过将“inout”替换为“ref”来解决(D2语法更改)。

答案 1 :(得分:0)

我放弃了lodepng,并使用了代码 http://www.dsource.org/projects/plot2kill/browser/trunk/png.d 这经过一些细微的改变后才有效。