ftk学习记(image显示篇)
来源:互联网 发布:罗曼尼康帝 知乎 编辑:程序博客网 时间:2024/05/20 11:22
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
前面说到了scroll bar,下面还是首先看一下效果图。
说完了滑动条。下面就来谈一谈image的相关流程,特别是demo代码的编写。正好ftk源代码中也包含了image的相关内容,我们不妨首先了解一下相关的流程是如何编写的。
#include "ftk.h"static Ret timeout(void* ctx){ftk_quit();ftk_logd("%s: timeout and quit.\n", __func__);return RET_REMOVE;}int FTK_MAIN(int argc, char* argv[]){FtkSource* timer = NULL;FtkWidget* image = NULL;FtkWidget* win = NULL;char filename[FTK_MAX_PATH+1] = {0};ftk_init(argc, argv);timer = ftk_source_timer_create(5000, timeout, NULL);win = ftk_window_create(0, 0, 320, 480);ftk_snprintf(filename, FTK_MAX_PATH, "%s/earth.png", TESTDATA_DIR);image = ftk_image_create(win, 0, 0, ftk_widget_width(win)/2, ftk_widget_height(win)/2);ftk_image_set_image(image, ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename));ftk_snprintf(filename, FTK_MAX_PATH, "%s/png_RGB_tRNS.png", TESTDATA_DIR);image = ftk_image_create(win, 0, 0, ftk_widget_width(win)/2, ftk_widget_height(win)/2);ftk_image_set_image(image, ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename));ftk_widget_set_attr(image, FTK_ATTR_TRANSPARENT);ftk_snprintf(filename, FTK_MAX_PATH, "%s/Calculator.png", TESTDATA_DIR);image = ftk_image_create(win, ftk_widget_width(win)/2, 0, ftk_widget_width(win)/2, ftk_widget_height(win)/2);ftk_image_set_image(image, ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename));ftk_widget_set_attr(image, FTK_ATTR_BG_TILE);ftk_snprintf(filename, FTK_MAX_PATH, "%s/t8.bmp", TESTDATA_DIR);image = ftk_image_create(win, 0, ftk_widget_height(win)/2, ftk_widget_width(win)/2, ftk_widget_height(win)/2);ftk_image_set_image(image, ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename));ftk_widget_set_attr(image, FTK_ATTR_BG_CENTER);ftk_snprintf(filename, FTK_MAX_PATH, "%s/jpeg1.jpg", TESTDATA_DIR);image = ftk_image_create(win, ftk_widget_width(win)/2, ftk_widget_height(win)/2, ftk_widget_width(win)/2, ftk_widget_height(win)/2);ftk_image_set_image(image, ftk_bitmap_factory_load(ftk_default_bitmap_factory(), filename));ftk_widget_set_attr(image, FTK_ATTR_BG_TILE);ftk_widget_set_text(win, "image demo");ftk_widget_show_all(win, 1);ftk_widget_set_attr(win, FTK_ATTR_QUIT_WHEN_CLOSE);ftk_main_loop_add_source(ftk_default_main_loop(), timer);ftk_run();return 0;}
首先请大家迅速浏览一下整个代码流程。流程其实不复杂,主要的内容其实都在FTK_MAIN里面。从行数上看,看似复杂的代码,其实很简单。关于image的内容主要集中在几个函数之间,分别是ftk_image_create、ftk_image_set_image和ftk_widget_set_attr。三个函数的功能依次为创建图像、设置图像和设置属性。细心的朋友可能发现了整份代码中有五份图像显示,但是在效果图上只有四幅图像可以显示。原因是什么呢?关键就在于FTK_ATTR_TRANSPARENT这个属性的设置了。具体内容还请大家多看看代码吧。
效果图,下次见了。
1 0
- ftk学习记(image显示篇)
- ftk学习记(label篇)
- ftk学习记(button篇)
- ftk学习记(进度条篇)
- ftk学习记(输入框篇)
- ftk学习记(消息框篇)
- ftk学习记(输入法篇)
- ftk学习记(对话框篇)
- ftk学习记(脚本篇)
- ftk学习记(waitbox篇)
- ftk学习记(icon篇)
- ftk学习记(list篇)
- ftk学习记(多窗口篇)
- ftk学习记(combox篇)
- ftk学习记(滑动条篇)
- ftk学习记(首篇)
- ftk学习记(窗口全屏设置篇)
- Universal Image Loader 学习笔记-图片显示选项
- 基础总结篇之三:Activity的task相关
- 【OpenCV入门教程之十六】OpenCV角点检测之Harris角点检测
- 代码储藏室
- 是否赢得井字游戏
- 自注1:DNS域名解析过程
- ftk学习记(image显示篇)
- MP4文件格式1——MP4简介
- OCP 1Z0 052 10
- Framework Manager入门教程(六) - 固定显示4个季度(FM建模)(续一)
- 工资数据的输入
- Container With Most Water
- Swift学习之四:类型别名(Type Aliases)
- 父亲节别忘了妈:带上全家去旅行
- java中如何获取项目各个目录下的文件