关于Android开发过程中,createImage的一些总结。
2010-12-26 13:19
731 查看
今天在Android开发过程中,在改原来在WTK上写过的底层方法,发现Android里面createImage(Android里面叫createBitmap)创建的时候无法像WTK里面一样直接创建ARGB数组
WTK方法如下
而Android的BitmapFactory倒是有一个
单这一方式,经过我一上午的试验,发现只能创建相应压缩格式的图片,比如PNG,JPEG等,于是决定跟踪写一个接口。
流程大概是这样的。
1.先创建一张,指定大小的空图
2.之后通过setPixels将相应的数组贴进去,setPixels的第一个参数刚好是个int型,表示ARGB的数值。
于是就解决啦。
在实际的调试过程中,我下断点跟踪Bitmap相关变量,发现里面有个参数mHeight和mWidth一直为-1,我以为图片没有创建出来,其实并不是,在内部他已经创建出来了,只需再次调用bm.getHeight()这个值就出来啦。
更正,Android里面本身带类似于WTK22里面的API,只是当时我调试时未知原因导致崩溃,所以没调出来。
此方法即可
WTK方法如下
createRGBImage(int[] rgb, int width, int height, boolean processAlpha) //Creates an immutable image from a sequence of ARGB values, specified as 0xAARRGGBB.
而Android的BitmapFactory倒是有一个
decodeByteArray(byte[] data, int offset, int length, BitmapFactory.Options opts) //Decode an immutable bitmap from the specified byte array.
单这一方式,经过我一上午的试验,发现只能创建相应压缩格式的图片,比如PNG,JPEG等,于是决定跟踪写一个接口。
流程大概是这样的。
1.先创建一张,指定大小的空图
2.之后通过setPixels将相应的数组贴进去,setPixels的第一个参数刚好是个int型,表示ARGB的数值。
于是就解决啦。
在实际的调试过程中,我下断点跟踪Bitmap相关变量,发现里面有个参数mHeight和mWidth一直为-1,我以为图片没有创建出来,其实并不是,在内部他已经创建出来了,只需再次调用bm.getHeight()这个值就出来啦。
更正,Android里面本身带类似于WTK22里面的API,只是当时我调试时未知原因导致崩溃,所以没调出来。
static Bitmap createBitmap(int[] colors, int offset, int stride, int width, int height, Bitmap.Config config) Returns a immutable bitmap with the specified width and height, with each pixel value set to the corresponding value in the colors array.
此方法即可
相关文章推荐
- 关于samsung连接BLE设备的一些资料汇总和开发过程一些经验总结
- 关于使用Delphi XE10 进行android开发的一些总结
- 关于android蓝牙开发的一些总结
- 【原创】对于一些Android开发过程中坑爹、细小,但又重要的错误的总结
- 关于Android开发过程中遇到的一些权限注意点
- 关于Raphael开发过程中的一些总结
- 最近在ArcGIS Engine开发中关于调用gp工具过程出现COM 组件的调用返回了错误 HRESULT E_FAIL 错误的解决方法 和 学习oracle中遇到的一些问题总结
- 关于Android开发的一些个人总结(2016.04)
- 关于samsung连接BLE设备的一些资料汇总和开发过程一些经验总结
- 关于Android 手机的一些开发过程中的常识
- Android开发过程中遇到的一些问题
- unity 关于打包androidjar并调用android jar包开发打电话功能的一些容易出错的点
- ATL 开发 COM 过程中的一些经验、问题总结
- iPhone 开发过程中的一些小技术的总结
- 关于android开发的一些教程
- 有关于Android Menu的一些小知识总结
- Android开发——关于Service的一些要点
- iPhone 开发过程中的一些小技术的总结
- dwz问题(本文主要是供个人学习成长之用,陈述的是本人在开发过程中遇到的几个小问题的总结,可能兼或插入一些网络资料)
- 关于微信开发的一些总结(JAVA开发)