麦步社区-论坛

标题: 不需要底图的话,怎么样可以切换表盘背景的颜色? [打印本页]

作者: dualxu    时间: 2016-8-30 13:48
标题: 不需要底图的话,怎么样可以切换表盘背景的颜色?
本帖最后由 dualxu 于 2016-8-30 13:49 编辑

各位,如果我不想要底图的话,怎么样可以切换表盘背景的颜色?
我想通过一个预定义的来设置本次是否为黑色或白色背景。就是将整个表盘作为一个文本图层, 然后其他图层在此图层上是否可以?
我现在一个如下代码,看到黑色背景想时, 只有上面其他文字图层的背景是黑色的,整个表盘背景依然是白色的。

//#define _WHITE_BACKGROUND_  //white or black ground

frame_bg.origin.x = 0;
        frame_bg.origin.y = 0;
        frame_bg.size.h = 128;
        frame_bg.size.w = 128;
        char bg_str[40] = "";
        sprintf(bg_str, "%s%s", "", "");
        //lt_bg = {bg_str, frame_bg, GAlignLeft, U_ASCII_ARIAL_12, 0};
        lt_bg.text = bg_str;
        lt_bg.frame = frame_bg;
        lt_bg.alignment = GAlignLeft;
        lt_bg.font_type = U_ASCII_ARIAL_12;
        layer_text_bg = app_layer_create_text(lt_bg);
        if(layer_text_bg != NULL)
        {
                #ifndef _WHITE_BACKGROUND_
                app_layer_set_bg_color(layer_text_bg, GColorBlack);
                #else
                app_layer_set_bg_color(layer_text_bg, GColorWhite);
                #endif
                app_window_add_layer(p_window, layer_text_bg);
        }


作者: 包子馒头2    时间: 2016-8-30 14:07
每个字之间是有空隙的,空隙没有底图的话,就是白色,不能变。
所以加上底图吧,何必省那一张图,增加代码的复杂度。
作者: dualxu    时间: 2016-8-30 14:45
包子馒头2 发表于 2016-8-30 14:07
每个字之间是有空隙的,空隙没有底图的话,就是白色,不能变。
所以加上底图吧,何必省那一张图,增加代码 ...

增加底图不会增加应用的内存需求是吧?
或者增加很少的内存是吧,麦步内存太小需要考虑
作者: 不贰小    时间: 2016-8-31 17:12
dualxu 发表于 2016-8-30 14:45
增加底图不会增加应用的内存需求是吧?
或者增加很少的内存是吧,麦步内存太小需要考虑 ...

增加底图应该对内存需求影响不大
作者: 1076964977    时间: 2016-9-1 11:05
dualxu 发表于 2016-8-30 14:45
增加底图不会增加应用的内存需求是吧?
或者增加很少的内存是吧,麦步内存太小需要考虑 ...

可以考虑用矢量画一个背景填充 就是没比较过画的和用背景图的 哪种占用内存多。
作者: dualxu    时间: 2016-9-1 15:39
1076964977 发表于 2016-9-1 11:05
可以考虑用矢量画一个背景填充 就是没比较过画的和用背景图的 哪种占用内存多。 ...

怎么玩矢量图填充?
作者: 1076964977    时间: 2016-9-2 12:55
dualxu 发表于 2016-9-1 15:39
怎么玩矢量图填充?

你研究看看demo里面的demo_geometry.c这个文件就知道了 不难




欢迎光临 麦步社区-论坛 (http://203.195.186.190/) Powered by Discuz! X3.2