当前位置: 首页 > news >正文

广东seo网站优化公司凡科快图官网登录入口

广东seo网站优化公司,凡科快图官网登录入口,免费个人网站源码,河南五建建设集团有限公司网站a. BREW 支持哪些图像格式#xff1f; 适用版本#xff1a; 1.0, 1.1, 2.0 BREW 支持颜色深度达到运行设备上提供的值的任何 BMP 文件。 BREW 目前尚不支持 GIF 和 JPEG 图像。 有些设备可以支持 GIF 和 JPEG 图像#xff0c;请参阅设备数据表来查看 OEM 是否提供了支持以上…a. BREW 支持哪些图像格式 适用版本 1.0, 1.1, 2.0 BREW 支持颜色深度达到运行设备上提供的值的任何 BMP 文件。 BREW 目前尚不支持 GIF 和 JPEG 图像。 有些设备可以支持 GIF 和 JPEG 图像请参阅设备数据表来查看 OEM 是否提供了支持以上格式或其它格式图像的扩展。 BREW SDKreg; 1.1 以上版本都支持 PNG 格式和 BREW Compressed Image (BCI) 格式。 SDK 2.0 以上版本都支持 IDIB。 使用 IDIB 将免除您调用 CONVERTBMP 的工作从而提高屏幕更新速度。 BREW SDKreg; 2.1 以上版本将支持 WBMP 格式。 在 BREW SDKreg; 1.0 中模拟器只能模拟 1 位、4 位和 8 位颜色深度的 BMP。 SDK 1.1 增加了对 2 位颜色深度 BMP 的模拟器支持2.0 SDK 增加了对 16 位颜色深度 BMP 图像的模拟器支持。 b. 如何生成 2 位图像 适用版本 1.0, 1.1, 2.0 2.0 SDK 中包含的 2 Bit Tool可以进行 2 位位图和 4 位位图之间的转换。 要构建采用灰度显示的手持设备使用的 2 位位图可以使用 MS Paint 从调色板中选择白色、黑色、淡灰和深灰条目通常为第一行和第二行的前两种颜色来构建位图。 并将其保存为 16 色图像然后使用 2Bit Tool 将其转换为 2 位位图。 c. 彩色和单色电话上的透明色是什么 适用版本 1.0, 1.1, 2.0 BREW 1.x 中紫色为彩色设备的透明色白色是单色和 4 级灰度设备上的透明色。 BREW 2.0 以上版本中可以通过 IBITMAP_SetTransparencyColor 更改透明色。 CONVERTBMP 可以将透明色初始化为兼容旧版本 BREW 的透明色即紫色和白色。 但通过其它方式获得的位图图像则没有固定的透明色。 d. 如何使用内存中的位图创建 IIMAGE 对象适用版本 1.0, 1.1, 2.0 使用 ISHELL 接口 ISHELL_LoadResImage用于资源和 ISHELL_LoadImage用于文件完成作为资源或从文件中加载位图。 但是有时可能必须从内存中初始化 IIMAGE 对象 - 例如显示前修改位图的内容时或者不先将数据缓存到文件而通过套接字连接检索图像时。 在必须用内存中的位图初始化 IIMAGE 对象的情况下应该使用 IIMAGE 接口 IIMAGE_SetStream。 下面的代码示例说明了这种技术。它通过调用 ISHELL_GetHandler 获得 BMP 图像处理程序的 Class ID然后创建一个 MemAStream 对象并将其用作内存中位图的流。 注意本例中的图像格式是 Windows BMP“pMe-pBmpData”指向 Windows 文件格式 BMP 的开始 (BITMAPFILEHEADER)。 代码示例 AEECLSID cls;IImage *pIImage NULL;IMemAStream *pMemStream NULL;// 决定 BMP处理程序函数的类 ID然后// 创建此 BREW 类的实例cls ISHELL_GetHandler(pMe-a.m_pIShell, HTYPE_VIEWER, image/bmp);if (cls) {ISHELL_CreateInstance(pMe-a.m_pIShell, cls, (void **)(pIImage));}if (pMe-pBmpData) {ISHELL_CreateInstance(pMe-a.m_pIShell, AEECLSID_MEMASTREAM, (void **)(pMemStream));if (pMemStream) {//创建 MEMSTREAM 后将其作为内存中的位图的流。IMEMASTREAM_Set(pMemStream, pMe-pBmpData, sizeof(pMe-pBmpData), 0, 0);IIMAGE_SetStream(pIImage, (IAStream*)pMemStream);// 现在以正常方式使用您的 IIMAGE 方法IIMAGE_Draw(pIImage, ..., ...);IDISPLAY_UpdateEx(pMe-a.m_pIDisplay, TRUE);}} e. 如何从文件或资源文件加载图像 通过使用 ISHELL 接口 ISHELL_LoadResImage用于资源或 ISHELL_LoadImage用于文件后跟 IIMAGE_Draw很容易从文件或资源中加载和绘制图像。本文演示了使用 ISHELL 和 IIMAGE 接口加载和显示位图所需的基本步骤。 从资源中显示图像的步骤 1. 创建位图。2. 将其添加到资源编辑器中。3. 在资源编辑器中编译 .bar 和 .h 文件。 4. 将 .h 文件添加到您的项目中。5. 使用 ISHELL_LoadResImage 加载图像。6. 如果加载操作返回非空值这说明加载操作已启动指向图像的指针已返    回。这并不表示图像加载已完成。要了解图像操作的完成时间您需要使    用 IIMAGE_Notify() 回调。 7. 图像加载完成时就会触发回调。8. 在回调过程中使用 IIMAGE_Draw() 显示图像。9. 使用 IDISPLAY_Update() 更新屏幕。10. 释放 IImage 指针。从文件中显示图像的步骤 1. 使用 ISHELL_LoadImage 从文件中加载图像。2. 如果加载操作返回非空值这说明加载操作已启动指向图像的指针已返    回。这并不表示图像加载已完成。要了解图像操作的完成时间您需要使    用 IIMAGE_Notify() 回调。3. 图像加载完成时就会触发回调。4. 在回调过程中使用 IIMAGE_Draw() 显示图像。5. 使用 IDISPLAY_Update() 更新屏幕。6. 释放 IImage 指针。代码示例typedef struct mystruct{    AEEApplet a;    IImage *m_pImage;    ......}MyData;enum ResType{    LOAD_RES_FROM_FILE,    LOAD_RES_FROM_RES};#define MY_RES_FILE myres.bar#define MY_IMAGE_FILE myimg.bmp// Load and display a bitmap from a resource and fileint MyDisplayResImage(MyData *pMe, ResType rType){    AEEDeviceInfo dm;    if (!pMe)    Return EFAILED;    if (rType LOAD_RES_FROM_RES)    {        // Load image from Resources        pMe-m_pImage ISHELL_LoadResImage (        pMe-a.m_pIShell,        MY_RES_FILE,        IDB_MY_COLOR_BITMAP);    }    else // LOAD_RES_FROM_FILE    {        pMe-m_pImage ISHELL_LoadImage(pMe-a.m_pIShell,        MY_IMAGE_FILE);     }    if (pMe-m_pImage) {        IIMAGE_Notify(pMe-m_pImage, DrawRoutineCB,        (void *)pMe);    }    else    {        return EFAILED; // Failed to load image     }    return SUCCESS;}// Notify Callbackvoid DrawRoutineCB(void *pUser, IImage *pImage,AEEImageInfo *pi, int nErr){    MyData *pMe (MyData *)pUser;    if( !pMe || !(pMe-m_pImage)    return; // image pointer is NULL    if (nErr AEE_SUCCESS)    {        // Draw image at 0,0 coordinates        IIMAGE_Draw(pMe-m_pImage, 0, 0);         // Update the screen        IDISPLAY_Update(pMe-a.m_pIDisplay);         // Free the IIMAGE object        IIMAGE_Release(pMe-m_pImage );     }}注意回调通过 IIMAGE_Notify() 进行之前不得释放 IImage 接口。在应用程序需要在回调文件之前释放接口的情况下建议改设会表明应该在回调上例中的 DrawRoutineCB中释放接口的布尔标记。f. 我用 ISHELL_LoadResImage() 加载图像并调用 IIMAGE_Draw() 后为什么看不到屏幕图像加载图像为异步操作。ISHELL_ LoadResImage() 操作返回时图像未完全加载可能无法成功绘制。返回图像加载的非空值时说明加载操作已启动指向图像的指针已返回。这并不表示加载操作已完成。要了解加载操作的完成时间用户应使用 IIMAGE_Notify()回调。该回调会在图像成功加载并准备绘制到屏幕上时触发。此时用户应使用 IIMAGE_Draw() 在屏幕上显示图像。从文件或资源正确加载和绘制图像的示例如下从资源中显示图像的步骤1. 创建位图。2. 将其添加到资源编辑器中。3. 在资源编辑器中编译 .bar 和 .h 文件。4. 将 .h 文件添加到您的项目中。5. 使用 ISHELL_LoadResImage 加载图像。6. 如果加载操作返回非空值这说明加载操作已启动指向图像的指针已返    回。这并不表示图像加载已完成。要了解图像操作的完成时间您需要使    用 IIMAGE_Notify() 回调。7. 图像加载完成时就会触发回调。8. 在回调过程中使用 IIMAGE_ Draw() 显示图像。9. 使用 IDISPLAY_Update() 更新屏幕。10. 释放 IImage 指针。从文件中显示图像的步骤1. 使用 ISHELL_LoadImage 从文件中加载图像。2. 如果加载操作返回非空值这说明加载操作已启动指向图像的指针已返    回。这并不表示图像加载已完成。要了解图像操作的完成时间您需要使    用 IIMAGE_Notify() 回调。 3. 图像加载完成时就会触发回调。4. 在回调过程中使用 IIMAGE_ Draw() 显示图像。5. 使用 IDISPLAY_Update() 更新屏幕。6. 释放 IImage 指针。代码示例typedef struct mystruct{    AEEApplet a;    IImage *m_pImage;    ......}MyData;enum ResType{    LOAD_RES_FROM_FILE,    LOAD_RES_FROM_RES};#define MY_RES_FILE myres.bar#define MY_IMAGE_FILE myimg.bmp// Load and display a bitmap from a resource and fileint MyDisplayResImage(MyData *pMe, ResType rType){    AEEDeviceInfo dm;    if (!pMe)    Return EFAILED;    if (rType LOAD_RES_FROM_RES)    {        // Load image from Resources        pMe-m_pImage ISHELL_LoadResImage (        pMe-a.m_pIShell,        MY_RES_FILE,        IDB_MY_COLOR_BITMAP);    }    else // LOAD_RES_FROM_FILE    {        pMe-m_pImage ISHELL_LoadImage(pMe-a.m_pIShell,        MY_IMAGE_FILE);     }    if (pMe-m_pImage) {        IIMAGE_Notify(pMe-m_pImage, DrawRoutineCB,            (void *)pMe);    }    else    {        return EFAILED; // Failed to load image     }    return SUCCESS;}// Notify Callbackvoid DrawRoutineCB(void *pUser, IImage *pImage,AEEImageInfo *pi, int nErr){    MyData *pMe (MyData *)pUser;    if( !pMe || !(pMe-m_pImage)    return; // image pointer is NULL    if (nErr AEE_SUCCESS)    {        // Draw image at 0,0 coordinates        IIMAGE_Draw(pMe-m_pImage, 0, 0);         // Update the screen        IDISPLAY_Update(pMe-a.m_pIDisplay);         // Free the IIMAGE object        IIMAGE_Release(pMe-m_pImage );     }}注意回调通过 IIMAGE_Notify() 进行之前不得释放 IImage 接口。在应用程序需要在回调文件之前释放接口的情况下建议改设会表明应该在回调上例中的 DrawRoutineCB中释放接口的布尔标记。 g. BREW 是否支持动画 适用版本 1.0, 1.1, 2.0 BREW SDKreg; 版本 1.0 支持动画 BMP。 这是通过并列放置所有帧并使用带 IPARM-CXFRAME 标记的 IIMAGE_SetParm 指定每帧的宽度实现的。 请参阅 Examples 目录中的 IIMAGE 示例。 BREW SDKreg; 版本 1.1 增加了对 BREW Compressed Image (BCI) 动画的支持。 BCI 文件包含一个或多个压缩的小图像每个图像都有一个以毫秒指定的持续时间。 持续时间表示每一幅图像被该系列下一幅图像取代之前可显示的时间。 您可以使用 BREW SDKreg; 版本 1.1 随附的 BCI 编辑工具来创建 BCI 文件。 有关详细信息请参阅 SDK 随附的“使用 BREW Compressed Image 编辑工具”文档。 BREW 当前不支持 PNG 和 MNG 格式的动画。 h. 为什么一段时间后所有动画都会变慢 适用版本 1.0, 1.1, 2.0 大多数 OEM 都使用了睡眠计时器。 它控制设备在何时进入睡眠状态。 如果在 OEM 指定的时间段内无按键活动手持设备将进入睡眠状态。 设备处于睡眠状态时帧速率将大大降低。 按下任意键将唤醒设备并恢复到以前的帧速率。 在 BREW 2.0 中应用程序可选择是否要进入睡眠状态。 如果在应用程序收到 EVT_APP_NO_SLEEP 事件时返回 TRUE应用程序将不会进入睡眠状态。 例如 case EVT_APP_NO_SLEEP://不要睡眠 return TRUE; i. 是否可以获取/操纵设备的调色板信息 适用版本 1.0, 1.1, 2.0 不可以。调色板由生产商进行硬编码随设备不同而有异。 j. 是否可以直接修改显示缓冲区 适用版本 1.0, 1.1, 2.0 BREW 1.x 无法访问这些缓冲区而且显示数据使用生产商的专有格式存储。 从 BREW 2.0 开始如果位图的像素布局兼容 BREW 设备无关位图规格则这些位图会支持 IDIB 接口。 也可以通过 IDIB 结构的 pBmp 成员访问像素缓冲区。 要确定位图是否支持 IDIB 以及要获取 IDIB 指针可以使用 Class ID 为 AEECLSID_DIB 的 IBITMAP_QueryInterface 函数。 k. 是否可以进行后台渲染 适用版本 1.0, 1.1, 2.0 可以使用 IDISPLAY_Set/GetDestination 或 IGRAPHICS_Set/GetDestination 进行后台渲染。 BREW 1.2 以上版本将提供这些函数。 不提供 1.2 BREW SDKreg;。 要使用 BREW 1.2 功能可以使用 2.0 SDK 开发面向 BREW 1.2 的应用程序。 您应该注意不要使用 1.2 版本中不支持的 2.0 版本的功能。 此功能列表编写在 FAQ 文档目标设备安装了 BREW SDKreg; 1.2但我找不到 BREW 1.2 SDK。 我应该使用什么 SDK 开发 BREW 应用程序中。 虽然文档中含有 IGRAPHICS_EnableDoubleBuffer API但它不受任何 BREW 版本的支持。 l. 如何绘制特定颜色的线段 适用版本 1.0, 1.1, 2.0 IDISPLAY_DrawHLine() 和 IDISPLAY_DrawVLine() 始终绘制黑色线段。 因此将 CLR_USER_LINE 设置为所需颜色然后调用 IDISPLAY_DrawHLine() 或 IDISPLAY_DrawVLine() 会变无效。 这两个 IDISPLAY 宏的定义如下。 要绘制除黑色外的颜色的线段请使用宏定义中所含的代码并更改为所需填充颜色。 #define IDISPLAY_DrawHLine(p,x,y,len) /{AEERect rc;SETAEERECT(rc,(x),(y),(len),1); IDISPLAY_FillRect((p),rc, RGB_BLACK);} #define IDISPLAY_DrawVLine(p,x,y,len) /{AEERect rc;SETAEERECT(rc,(x),(y),1,(len)); IDISPLAY_FillRect((p),rc, RGB_BLACK);} m. 如何确定在电话上显示应用程序名的字符限制 适用版本 1.0, 1.1, 2.0 不同的电话具有不同的显示特性因此对此问题没有唯一答案。 您可以通过比较应用程序名的宽度和显示宽度来确定应用程序名是否适合电话显示。 使用 IDISPLAY_MeasureText() 确定应用程序名字符串的像素宽度。 使用 ISHELL_GetDeviceInfo() 确定屏幕的像素宽度。 n. 如何将图像保存到电话的墙纸目录 适用版本 1.0, 1.1, 2.0 虽然当前版本的 SDK 不包含墙纸 API但有些 OEM 通过共享内容目录来支持将图像保存到本地 UI 的墙纸目录中。 您可以使用以下代码片断来创建/下载图像到共享目录// 请注意为了使这个代码起作用应用程序必须//在 MIF 文件中有Access to Shared Directory使用共享目录 和 File文件 的权限。STRCAT( filename, AEE_SHARED_DIR );STRCAT( filename, / );STRCAT( filename, test.gif );IFILEMGR_OpenFile( m_pIFileMgr, filename, _OFM_CREATE );AEE_SHARED_DIR 由 OEM 定义并映射到各设备的特定共享目录路径。 如果 OEM 支持将图像保存至墙纸目录则保存在 AEE_SHARED_DIR 中的图像会显示在本地 UI 的墙纸目录中。 要查看特定手持设备是否支持通过共享目录保存墙纸图像及支持的图像类型请参阅手持设备的设备数据表。 目前还没有 BREW API 可以用于将特定图像设为手持设备墙纸。 这必须要通过本地 UI 才能完成。 o. 使用 IDISPLAY_BitBlt() 绘制位图时为什么会收到内存错误如“memheap.c 0696” 适用版本 1.0, 1.1, 2.0 请确保释放 CONVERTBMP 分配的内存。 检查 CONVERTBMP 的最后一个布尔型参数。 如果为 True则重新分配已完成必须使用 SYSFREE 来释放内存。 例如pBmp CONVERTBMP (pDataBytes, imageInfo, bVal);IDISPLAY_BitBlt (pIDisplay, xDest, yDest, cxDest, cyDest, pBmp,xSrc, ySrc, dwRopCode);IDISPLAY_Update (pIDisplay);if(bVal) //仅在完成重新分配时释放SYSFREE (pBmp);请参阅 API 参考文档中的 CONVERTBMP 助手函数说明。 若需示例代码可以参阅 IDisplay 用法示例。 p. 为什么 Emulator 上显示的颜色比预期少 适用版本 1.0, 1.1, 2.0 如果您在 2.0 模拟器上显示 16 位图像时图像的分辨率较低请使用 Device Configurator 检查设备属性并将颜色深度设置为 16 位。 如果图像分辨率仍然很差相对 8 位或 16 位而言请检查您是否使用 IIMAGE_SetParm() 函数为要显示的图像设置了不正确的参数。 q. 为什么有些 PNG 图像不能正确显示 适用版本 1.0, 1.1, 2.0 在 BREW 中使用 PNG 图像需要注意两个问题。 1) 版本 1.0、1.1 和 2.0 不支持 Alpha 通道但 3.0 SDK 版本应该会支持。 2) BREW 只会选择文件中的第一种透明色对 PNG 进行透明处理。 所有其它颜色都会显示。 请检查文件以确保您创建文件时只使用了一种透明颜色。 r. 为什么创建 PNG 图像使用的内存大小远远大于图像的实际大小 BREW 应用程序使用 ISHELL_LoadResData 加载 PNG 图像时需要大量的额外空间来解码图像。 例如要加载 217 字节的 PNG 图像需要 45,177 字节空间转载于:https://www.cnblogs.com/secbook/archive/2006/03/24/2655536.html
http://www.yutouwan.com/news/285213/

相关文章:

  • 怎样做网站seo做网站编程需要学什么软件
  • 宣传网站制作方案口碑很好的金句
  • 聊城公司做网站目前专业做水果的网站
  • 前端响应式网站天津网站建设优化
  • 淄博网站建设选择臻动传媒适合新手做的网站项目
  • 泾川建设路网站网站首页页面设计模板
  • 在线网页代理浏览器百度seo怎么做网站内容优化
  • 专门做牛肉的网站谷歌搜索引擎入口363
  • 怎么 做网站教学流程国外建站数据
  • 教做视频的网站wordpress怎么用七牛
  • 中文网站的英文新会网站建设公司
  • 服装行业网站开发wap网站后台模板
  • 国内摄影作品网站网站建站前seo注意
  • 用.net core 做网站动画网站建设
  • 网站建设需要申请经营范围成都市建设学校网站
  • wordpress仿站教程百度云58徐州网站建设
  • 深圳开发网站的公司哪家好网站流量多少
  • 无锡建设主管部门网站嘉峪关建设厅官方网站
  • 兰州产品营销网站建设网站备案包括
  • ps 制作网站app编程入门教程
  • 哪些是 joomla做的网站定制网站建设服务公司
  • 做签名的网站广州营销优化
  • 怎么做外贸个人网站网络优化工程师为什么都说坑人
  • 长春企业网站模板建站承德市住房和城乡建设局网站
  • 网站建设公司厦门有哪些网站建设经营特色
  • 云主机建设网站网站建设管理指导意见
  • 网站部署到服务器学php搞网站开发
  • 做网站域名是赠送的吗深圳做微信网站设计
  • 视频网站亏钱为什么还要继续做湖南seo优化公司
  • 网站建设创作思路怎么写订阅号可以做网站吗