- 浏览: 335768 次
- 性别:
- 来自: 安徽
文章分类
最新评论
-
secally:
楼主可以上传个例子吗,谢谢,我咋跑不起来,,eclipse不是 ...
Android自动打包、签名、优化、上传ANT脚本 -
secally:
请问下执行命令是啥,ant release 还是?麻烦指教谢谢 ...
Android自动打包、签名、优化、上传ANT脚本 -
trp1022:
好牛啊
程序员不能不通文史 -
sunny78117:
谢谢,写得好
Android bitmap优化 -
futurebp:
这是什么类型的脚本啊?
Android自动打包、签名、优化、上传ANT脚本
项目中遇到了一个图片合成的问题,搞很长时间也没搞定,最后使用Canvas和Bitmap解决了画图的问题。
Canvas是一个画布,你可以建立一个空白的画布,就直接new一个Canvas对象,不需要参数。
也可以先使用BitmapFactory创建一个Bitmap对象,作为新的Canvas对象的参数,也就是说这个画布不是空白的,
如果你想保存图片的话,最好是Bitmap是一个新的,而不是从某个文件中读入进来的,或者是Drawable对象。
然后使用Canvas画第一张图上去,在画第二张图上去,最后使用Canvas.save(int flag)的方法进行保存,注意save方法里面的参数可以保存单个图层,
如果是保存全部图层的 话使用 save( Canvas.ALL_SAVE_FLAG )。
最后所有的信息都会保存在第一个创建的Bitmap中。代码如下:
/** * create the bitmap from a byte array * * @param src the bitmap object you want proecss * @param watermark the water mark above the src * @return return a bitmap object ,if paramter's length is 0,return null */ private Bitmap createBitmap( Bitmap src, Bitmap watermark ) { String tag = "createBitmap"; Log.d( tag, "create a new bitmap" ); if( src == null ) { return null; } int w = src.getWidth(); int h = src.getHeight(); int ww = watermark.getWidth(); int wh = watermark.getHeight(); //create the new blank bitmap Bitmap newb = Bitmap.createBitmap( w, h, Config.ARGB_8888 );//创建一个新的和SRC长度宽度一样的位图 Canvas cv = new Canvas( newb ); //draw src into cv.drawBitmap( src, 0, 0, null );//在 0,0坐标开始画入src //draw watermark into cv.drawBitmap( watermark, w - ww + 5, h - wh + 5, null );//在src的右下角画入水印 //save all clip cv.save( Canvas.ALL_SAVE_FLAG );//保存 //store cv.restore();//存储 return newb; }
对图片进行缩小的方法:
/** * lessen the bitmap * * @param src bitmap * @param destWidth the dest bitmap width * @param destHeigth * @return new bitmap if successful ,oherwise null */ private Bitmap lessenBitmap( Bitmap src, int destWidth, int destHeigth ) { String tag = "lessenBitmap"; if( src == null ) { return null; } int w = src.getWidth();//源文件的大小 int h = src.getHeight(); // calculate the scale - in this case = 0.4f float scaleWidth = ( ( float ) destWidth ) / w;//宽度缩小比例 float scaleHeight = ( ( float ) destHeigth ) / h;//高度缩小比例 Log.d( tag, "bitmap width is :" + w ); Log.d( tag, "bitmap height is :" + h ); Log.d( tag, "new width is :" + destWidth ); Log.d( tag, "new height is :" + destHeigth ); Log.d( tag, "scale width is :" + scaleWidth ); Log.d( tag, "scale height is :" + scaleHeight ); Matrix m = new Matrix();//矩阵 m.postScale( scaleWidth, scaleHeight );//设置矩阵比例 Bitmap resizedBitmap = Bitmap.createBitmap( src, 0, 0, w, h, m, true );//直接按照矩阵的比例把源文件画入进行 return resizedBitmap; }
评论
3 楼
myth2loki
2010-09-29
bitmap有一个compress方法,可以往文件流里写数据
2 楼
wkwd001
2010-09-27
代码里面提到的src是什么
1 楼
jn615
2010-08-16
return resizedBitmap;
之后呢?如何处理呀?我想知道怎么把newbit写回进文件夹下
之后呢?如何处理呀?我想知道怎么把newbit写回进文件夹下
发表评论
-
抓取Android WebView截屏
2011-08-19 21:33 7604一般使用setDrawingCacheEnabled(true ... -
Android bitmap优化
2011-08-11 17:02 5899直接使用ImageView显示 ... -
Android模拟器更改分辨率后 无法取得分辨率问题
2011-05-11 21:06 2811在PC上更改模拟器分辨率为480*800 (如果你的PC界面 ... -
获取屏幕硬件分辨率方法 收藏
2011-05-11 16:28 1886TextView tv=(TextVie ... -
Bytecode for the Dalvik VM
2011-05-10 22:35 1324http://www.netmite.com/android/ ... -
Android DEX反编译后部分代码解析
2011-05-10 22:07 3877一个private 方法 private Stri ... -
反编译并且修改Android APK包
2011-05-10 16:57 3070為了某個實驗的動機,我們評估反編譯 Android ... -
Android Ant编译时候进行混淆
2010-10-18 13:49 3809版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
自定义Ant Task
2010-09-13 17:58 2968版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自动打包、签名、优化、上传ANT脚本
2010-07-26 16:51 13940版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自定义含有CheckBox的Adapter遇到的问题
2010-06-23 13:48 4092版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
QR code类库
2010-06-03 23:11 2294Google code发现的好东西。 QR code 类库 ... -
Android QQ,一个WEBOS APP诞生!!(两个QQ对比!)
2010-04-10 12:05 1850请看这个大哥的言论 http://linuxtoy.or ... -
Android 、BlackBerry 文本对齐方式对比
2010-02-22 13:11 1782版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
教你如何开关Android的APN网络
2010-01-08 11:36 5974版权所有,转载请注明来自Mobile Developer (h ... -
史上最强NDK入门项目实战
2009-10-10 13:29 2667以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
使用TimerTask控制ProgressBar
2009-10-10 13:21 1051以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
自定义List布局
2009-10-10 13:19 1861以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
重画Progressbar的进度
2009-10-10 13:15 1915以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
谈谈Android中文短信的实现
2009-10-10 13:13 2147似 乎Google在推出G1时 ...
相关推荐
介绍了在Android中画图并保存图片的实例,以下是具体的实现方法,有需要的朋友可以参考一下
这是一个基于android系统的画图板,能实现线条颜色的选择,线条粗细的选择,能保存所花的图片,能清空画图板。
支持画图并保存图片到本地功能,1、首先创建一个Bitmap图片,并指定大小;2、在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可;3、需要保存的目录File,注意如果写的目录如“/sdcard/song/”如果不...
该项目为一个简单的android画图板,可将内容保存为图片,只能画线图
3、保存,加载笔迹(Stroke)。 4、画笔颜色。 5、画板背景色。 6、画笔,橡皮大小。 7、选择画景图片。 说明:当时做的时候就按照WVGA800的模拟器做的,所以分辨率应当设置为800 * 480,横屏模式。
Android应用源码基于android系统的画图板是一款基于android系统的画图板,主要功能是实现线条颜色的选择,线条粗细的选择,线条样式的选择,可以保存所画图片也可以清空图片,退出应用。代码量相对较少感兴趣的可以...
这是一款基于android系统的画图板,主要功能是实现线条颜色的选择,线条粗细的选择,线条样式的选择,可以保存所画图片也可以清空图片,退出应用。代码量相对较少感兴趣的可以看看,可以直接运用到自己的代码中。...
最简单的surfaceview画图和截图,点击“点击加图”会在surfaceview上增加一个bitmat,点击“点击保存”会将最新的surfaceview图片保存在手机上。
Android开发摄像头SurfaceView预览 背景画图(矩形和圆形) 实现(双surfaceview,顶层画矩形框,底层预览视频); UI:三个按钮 预览 摄像 图片保存,预览界面 可以显示(矩形和圆形等图画)
本项目是一套基于安卓的涂鸦程序项目源码,能够实现设置画笔(颜色,粗细,风格),撤销操作,回复操作,清除画面,选择背景,保存涂鸦图片到手机存储卡上等常见功能,适合各种写字和画图。二次开发可以美化一下UI和...
1、实现了画直线、矩形、圆形、手绘线。 2、实现了橡皮擦功能,对图上的线段可以擦除。 3、画完的图形可以保存为jpg格式的图片
在手机游戏中程序要处理的主要有游戏界面(UI),按键,数据保存,游戏算法。游戏算法是用java语言...区别也不是很大,J2ME游戏移植到Android上主要要改的就是 画图,画文字,按键,数据保存的代码,其它的基本不用改。
就是在屏幕是用手写字,然后保存成图片,简称就是电子签名,可以用在手机上签合同,等技术。 使用技术: 使用了接口回调,绘制完成之后给用户去操作 自定义Dialog,在dialog上画图,给dialog设置主题,dialog的宽高...
用于Android studio课程设计之画画板的应用,通过简单代码实现画板的画画,擦除和改变画笔大小,使用java语言,在Android studio平台上进行开发,实现一个可以绘图的画板,界面有相关的选择按钮。可以根据按钮切换...
一个小画板,可以打开系统里面的图片,也可以自己画图片到里面保存,又很多种颜色供选择。。。。。
基于安卓的涂鸦程序项目源码,能够实现设置画笔(颜色,粗细,风格),撤销操作,回复操作,清除画面,选择背景,保存涂鸦图片到手机存储卡上等常见功能,适合各种写字和画图。