在这个例程当中,主要讲了将一个图片压缩成字节流,然后转化成数组 在变成图片的故事。
首先 图片压缩成流 在转变成图片的方法还是值得学习的:
private static Bitmap codec(Bitmap src, Bitmap.CompressFormat format,
int quality) {
ByteArrayOutputStream os = new ByteArrayOutputStream();
src.compress(format, quality, os);
byte[] array = os.toByteArray();
return BitmapFactory.decodeByteArray(array, 0, array.length);
}
初始化 图片:
mBitmaps = new Bitmap[6];
// these three are initialized with colors[]
mBitmaps[0] = Bitmap.createBitmap(colors, 0, STRIDE, WIDTH, HEIGHT,
Bitmap.Config.ARGB_8888);
mBitmaps[1] = Bitmap.createBitmap(colors, 0, STRIDE, WIDTH, HEIGHT, Bitmap.Config.RGB_565);
mBitmaps[2] = Bitmap.createBitmap(colors, 0, STRIDE, WIDTH, HEIGHT,
Bitmap.Config.ARGB_4444);
// these three will have their colors set later
mBitmaps[3] = Bitmap.createBitmap(WIDTH, HEIGHT,
Bitmap.Config.ARGB_8888);
mBitmaps[4] = Bitmap.createBitmap(WIDTH, HEIGHT,
Bitmap.Config.RGB_565); mBitmaps[5] = Bitmap.createBitmap(WIDTH, HEIGHT,
Bitmap.Config.ARGB_4444);
for (int i = 3; i <= 5; i++) {
mBitmaps[i].setPixels(colors, 0, STRIDE, 0, 0, WIDTH, HEIGHT);
}
for (int i = 0; i < mBitmaps.length; i++) {
mJPEG[i] = codec(mBitmaps[i], Bitmap.CompressFormat.JPEG, 80);
mPNG[i] = codec(mBitmaps[i], Bitmap.CompressFormat.PNG, 0);
最后将图片绘画在屏幕上
@Override protected void onDraw(Canvas canvas) {
canvas.drawColor(Color.WHITE);
for (int i = 0; i < mBitmaps.length; i++) {
canvas.drawBitmap(mBitmaps[i], 0, 0, null);
canvas.drawBitmap(mJPEG[i], 80, 0, null);
canvas.drawBitmap(mPNG[i], 160, 0, null);
canvas.translate(0, mBitmaps[i].getHeight());
}
// draw the color array directly, w/o craeting a bitmap object
canvas.drawBitmap(mColors, 0, STRIDE, 0, 0, WIDTH, HEIGHT,
true, null);
canvas.translate(0, HEIGHT);
canvas.drawBitmap(mColors, 0, STRIDE, 0, 0, WIDTH, HEIGHT,
false, mPaint);
}
上面的绘制 有三种情况 绘制jpeg 绘制png 直接绘制原数组。
mBitmaps[i].setPixels(colors, 0, STRIDE, 0, 0, WIDTH, HEIGHT);
也可以通过上面的方式来改变颜色
分享到:
相关推荐
比较好用的电子教鞭,可以不锁定屏幕情况下画图。
VB 控件数组画图实例 VB 控件数组画图实例 VB 控件数组画图实例
cartopy画图-降雨,cartopy画图-降雨
Unity 画图-画板-画笔
如何使用pandas解析数据并存储,再利用matplotlib画图------data1.csv
海龟画图-凯蒂猫-python代码
在线画图-流线图形在线设计.zip在线画图-流线图形在线设计.zip在线画图-流线图形在线设计.zip
11、学习画图--电脑基础知识.docx
海龟画图-机器猫-python代码
项目管理-画图-画流程图-画甘特图
画图工具源码.zip
看标题,Android画图的Demo—还可以浏览图片-播放图片
画图程序源码.zip
Android程序源码--画图,画图Android程序源码--
Delphi 7.0 数组画图动态显示(含源码),调试Cypress CSD参数时,用于演示用。
python画图-22-列表修改数据.ev4.rar
python画图-21-列表删除数据.ev4.rar
python mat 画图-樱花树
vs平台,基于qt的画图--graphics练习 使用的c++ 实现椭圆,颜色改变,添加图形,view里面右键菜单,添加删除item
【国家自然科学基金】-画图-基金支持热词逐年推荐-【万方软件创新助手】-20140801.pdf