为什么图像在此示例代码中丢失了颜色?

时间:2013-03-28 18:24:31

标签: c4

当我运行未经修改的"Image Property" example时,图像已失去颜色(与示例中的video不同)。知道发生了什么事吗?

更新:我意识到只有包含这些问题的C4图像(C4Sky.png和C4Table.png)。

1 个答案:

答案 0 :(得分:1)

问题仍然存在。 C4Image的图像属性似乎存在错误。

Error seen with image code

解决方案是使用指向您想要查看的C4Image的指针,然后将指针指向的C4Image包含在画布上。务必从画布中删除旧图像。使用对象比较不需要额外的布尔变量。

    #import "C4Workspace.h"

    @implementation C4WorkSpace {
        //define 2 invisible images
        C4Image *i1, *i2;
        //define a pointer to a selected image
        C4Image *visibleImage;
    }

    -(void)setup {
        i1 = [C4Image imageNamed:@"C4Sky.png"];
        i2 = [C4Image imageNamed:@"C4Table.png"];

        visibleImage = i1;

        i1.center = i2.center = self.canvas.center;

        [self.canvas addImage:visibleImage];
    }

    -(void)touchesBegan {
        [self.canvas removeObject:visibleImage]; // remove old image

        // see what the pointer is pointing to and update accordingly
        if (visibleImage == i1)
            visibleImage = i2;
        else    
            visibleImage = i1;

        // add the newly referenced C4Image to canvas
        [self.canvas addImage:visibleImage]; 
    }

    @end

这是指向我将保留此代码的要点的链接:https://gist.github.com/drart/5695449