欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

二进制数据如何转成png

更新时间: 2014-01-05 02:46:05 责任编辑: Author_N1

 

二进制数据怎么转成PNG?
我现在有一块二进制的数据,数据是其他人生成的,我已经读了进来,别人只告诉我这些数据是一张PNG的图片,我怎么才能把这些数据转成一张PNG,同时画出来?在BREW里面有没有这样的接口函数?有没有现实代码?(高分)

--参考方法--
PNG是需要decode的,BREW里好像没有相应的从内存导入的接口,从内存导入的接口都是针对BMP的。
--参考方法--

我印象中没有直接可以load binary 到 iimage的接口.
你看看是不是可以把这个二进制数据存成.png文件,再用ishell_loadimage把这个文件load出来, 如果效率上不是很讲究的话,应该是可行的

--参考方法--
BREW没有对数据流直接DECODE接口,如果是文件,可以直接LOAD生成。
--参考方法--
从别人的博客看到的东东
你试试看 原文地址:http://www.cppblog.com/gtwdaizi/articles/62862.html


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);
}
}
--参考方法--
就BMP而言,可以生产IDIB,然后通过IDIB将内存转化为BMP
--参考方法--
探讨
从别人的博客看到的东东
你试试看 原文地址:http://www.cppblog.com/gtwdaizi/articles/62862.html


d. 如何使用内存中的位图创建 IIMAGE 对象?
适用版本: 1.0, 1.1, 2.0
使用 ISHELL 接口 ISHELL_LoadResImage(用于资源)和 ISHELL_LoadImage(用于文件)完成作为资源或从文件中加载位图。 但是,有时可能必须从内存中初始化 IIMAGE 对象 - 例如显示前修改位图的内容时,或者不先将数据缓存到文件而通过套接字连接检索图…

--参考方法--
BMP就直接是象素点阵了,这个直接向屏上刷就成了,还要啥方法,不过其它格式的是不好做,我也试过好多方法,没成功,可能出于保护算法,反正扩展的不好。很多方面都不能灵活运用了。
--参考方法--
探讨
BMP就直接是象素点阵了,这个直接向屏上刷就成了,还要啥方法,不过其它格式的是不好做,我也试过好多方法,没成功,可能出于保护算法,反正扩展的不好。很多方面都不能灵活运用了。

--参考方法--
探讨
我试了七楼的方法,那个方法是可行的,但是我发觉有些图我可以显示,有些不可以显示。

--参考方法--
探讨
我试了七楼的方法,那个方法是可行的,但是我发觉有些图我可以显示,有些不可以显示。

--参考方法--
PNG格式的图片的话是有89 50 4e 47 开头的的吧

7楼的算法是没有问题的,

楼上可以确认一下生成的文件是不是正确的图像格式
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:46:05
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/14178/
本文WWW.DOC100.NET DOC100.NET版权所有。