在做下面操作之前,需要先干掉SurfaceFlinger进程,参考:Android中怎么方便的调试关机充电
1.Android.mk文件如下:

# Copyright 2013 The Android Open Source ProjectLOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_SRC_FILES := \main.cpp \LOCAL_MODULE := minui
LOCAL_MODULE_TAGS := optional
LOCAL_FORCE_STATIC_EXECUTABLE := true
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT_SBIN)
LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_SBIN_UNSTRIPPED)LOCAL_CFLAGS := -D__STDC_LIMIT_MACROS -WerrorLOCAL_C_INCLUDES := bootable/recoveryLOCAL_STATIC_LIBRARIES := \libbinder \libminui \libpng \libz \libutils \libbase \libcutils \liblog \libm \libcLOCAL_HAL_STATIC_LIBRARIES := libhealthdinclude $(BUILD_EXECUTABLE)

2.源码(main.cpp)如下:

#include "minui/minui.h"
#include <string>GRSurface* surf_unknown;
static int char_width;
static int char_height;
void healthd_board_mode_charger_set_backlight(bool en);static int draw_text(const char *str, int x, int y)
{int str_len_px = gr_measure(gr_sys_font(), str);if (x < 0)x = (gr_fb_width() - str_len_px) / 2;if (y < 0)y = (gr_fb_height() - char_height) / 2;gr_text(gr_sys_font(), x, y, str, 0);return y + char_height;
}static void android_green(void)
{gr_color(0xa4, 0xc6, 0x39, 255);
}static void clear_screen(void)
{gr_color(0, 0, 0, 255);gr_clear();
}/* returns the last y-offset of where the surface ends */
static int draw_surface_centered(GRSurface* surface)
{int w;int h;int x;int y;w = gr_get_width(surface);h = gr_get_height(surface);x = (gr_fb_width() - w) / 2 ;y = (gr_fb_height() - h) / 2 ;printf("drawing surface %dx%d+%d+%d\n", w, h, x, y);gr_blit(surface, 0, 0, w, h, x, y);return y + h;
}static void draw_picture(void)
{int ret = -1;std::string animation_file;animation_file.assign("charger/battery_fail");ret = res_create_display_surface(animation_file.c_str(), &surf_unknown);if(ret < 0){printf("surface %s create failed\n",animation_file.c_str());}draw_surface_centered(surf_unknown);}
int main(void)
{gr_init();gr_font_size(gr_sys_font(), &char_width, &char_height);clear_screen();healthd_board_mode_charger_set_backlight(true);android_green();//draw_text("Hello World!", -1, -1);draw_picture();gr_flip();printf("run anim\n");while(1);return 0;
}

这里需要指出的是res_create_display_surface寻找的资源文件的目录是/res/image,我们这儿使用的图片完整路径如下:/res/images/charger/battery_fail
3.显示效果:

Android中如何利用Minui显示PNG格式的图片相关推荐

  1. Android中如何利用Minui显示字符的最简单Demo

    在做下面操作之前,需要先干掉SurfaceFlinger进程,参考:Android中怎么方便的调试关机充电 1.Android.mk文件如下: # Copyright 2013 The Android ...

  2. android 弹出fragment,Android中ViewPager获取当前显示的Fragment

    前言 在项目中,有时会用到在ViewPager中显示同样类型的Fragment,同时这样的Fragment的个数是动态的,但是PagerAdapter没有给我们提供getCurrentFragment ...

  3. 微信小程序中苹果iOS手机显示时间格式NaN不正确的问题

    项目场景: 实现安卓Android和苹果iOS中微信小程序显示订单时间信息 问题描述 微信小程序中苹果iOS手机显示时间格式NaN不正确的问题 原因分析: 安卓微信小程序显示正常,苹果按格式YYYY- ...

  4. android 调取数字键盘,如何在android中的EditText上显示数字键盘?

    如何在android中的EditText上显示数字键盘? 我只是想在某个EditText具有焦点时立即切换到数字键盘模式. 13个解决方案 239 votes 您可以为EditText配置EditTe ...

  5. android中调用系统功能 来显示本地相册图片 拍照 视频 音频功能

    android中调用系统功能 来显示本地相册图片 拍照 视频 音频功能 效果图如下: 本地相册跟拍照可直接调用系统功能 Intent img = new Intent(MediaStore.ACTIO ...

  6. Android基础之十八显示gif动画,动态图片

    Android显示动态图片  GifView 是一个为了解决android中现在没有直接显示gif的view,只能通过mediaplay来显示这个问题的项目,其用法和 ImageView一样,支持gi ...

  7. HTML显示pdf格式的图片的方法

    HTML显示pdf格式的图片的方法 在正常的html代码中,img标签是无法显示pdf格式的图片的,然而在我们投简历的时候最好的格式就是pdf格式,所用我们应该用相应的标签来显示pdf格式的图片 1, ...

  8. 前端 img标签显示 base64格式的图片

    前端 IMG 标签显示 BASE64 格式的图片 <img src="data:image/jpeg;base64,这里加base64编码" alt="" ...

  9. 我的VC++——对话框中显示GIF格式的图片

    PictureEx图片显示类支持以下格式的图片:GIF (including animated GIF87a and GIF89a), JPEG, BMP, WMF, ICO, CUR等,我特别推崇的 ...

最新文章

  1. 高斯混合模型(GaussianMixture Model, GMM)聚类、可视化最优协方差形式、通过TSNE进行结果可视化分析、抽取核心特征因子
  2. 文本过滤--awk 3
  3. 第一章 Matlab的简单介绍
  4. SD销售订单输入成本中心
  5. P3804 【模板】后缀自动机
  6. 基于dde的vb和matlab,基于VB和DDE技术的组态王通信协议转换
  7. 阿里开源深度学习框架XDL,面向高维稀疏数据,支持千亿参数训练规模
  8. centos光盘修复引导_CentOS 6.5 修复grub引导
  9. day12--k近邻算法KNN
  10. IDC最新中国BI市场报告,永洪科技等中国厂商领跑
  11. 天天向上的力量python代码解释_小白学Python-12(天天向上的力量)
  12. HTML / CSS 实践练习
  13. NRF52840 SOC 在空气净化市场应用的发展趋势
  14. 认证疑难问题分析报告
  15. 程序员坐牢会被安排写代码吗?
  16. 【OpenCV】01-OpenCV的数据类型
  17. [遗传学]近亲繁殖与杂种优势
  18. 智能内容安全平台的运营维护与分享
  19. googletest简介
  20. 请求大佬们帮我找下问题

热门文章

  1. 计算机u盘驱动坏了如何的修复,u盘损坏怎么修复 u盘损坏再次使用
  2. 数据库密码忘了如何修改
  3. getch方法_C语言 getch()用法及代码示例
  4. 2019南京大学计算机考研录取名单,2019南京大学计算机考研录取名单啥时出来
  5. 每个男人心中都有一段《西西里的美丽传说》
  6. Oracle获取指定月最后一天日期(last_day函数)
  7. Ubuntu18.04局域网共享文件夹,实现win7和Ubuntu本地访问
  8. 笔记本连接显示器后没有声音
  9. Numpy基础(二)——数组转置、计算内积和换轴
  10. Tensorflow使用LSTM实现中文文本分类(1)