- 浏览: 341446 次
- 性别:
- 来自: 安徽
文章分类
最新评论
-
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 7669一般使用setDrawingCacheEnabled(true ... -
Android bitmap优化
2011-08-11 17:02 5990直接使用ImageView显示 ... -
Android模拟器更改分辨率后 无法取得分辨率问题
2011-05-11 21:06 2861在PC上更改模拟器分辨率为480*800 (如果你的PC界面 ... -
获取屏幕硬件分辨率方法 收藏
2011-05-11 16:28 1923TextView tv=(TextVie ... -
Bytecode for the Dalvik VM
2011-05-10 22:35 1370http://www.netmite.com/android/ ... -
Android DEX反编译后部分代码解析
2011-05-10 22:07 3947一个private 方法 private Stri ... -
反编译并且修改Android APK包
2011-05-10 16:57 3138為了某個實驗的動機,我們評估反編譯 Android ... -
Android Ant编译时候进行混淆
2010-10-18 13:49 3835版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
自定义Ant Task
2010-09-13 17:58 3001版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自动打包、签名、优化、上传ANT脚本
2010-07-26 16:51 13994版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自定义含有CheckBox的Adapter遇到的问题
2010-06-23 13:48 4130版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
QR code类库
2010-06-03 23:11 2337Google code发现的好东西。 QR code 类库 ... -
Android QQ,一个WEBOS APP诞生!!(两个QQ对比!)
2010-04-10 12:05 1880请看这个大哥的言论 http://linuxtoy.or ... -
Android 、BlackBerry 文本对齐方式对比
2010-02-22 13:11 1816版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
教你如何开关Android的APN网络
2010-01-08 11:36 6060版权所有,转载请注明来自Mobile Developer (h ... -
史上最强NDK入门项目实战
2009-10-10 13:29 2691以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
使用TimerTask控制ProgressBar
2009-10-10 13:21 1128以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
自定义List布局
2009-10-10 13:19 1936以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
重画Progressbar的进度
2009-10-10 13:15 1944以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
谈谈Android中文短信的实现
2009-10-10 13:13 2184似 乎Google在推出G1时 ...
相关推荐
以下是对如何在Android中画图并保存图片的详细解释。 首先,Bitmap是Android中表示图像的基本数据结构,它包含了像素信息。在画图前,你需要创建一个Bitmap对象,可以是空白的,也可以预先加载一张图片。如果你想要...
- 如果图片或画布较大,可能需要异步加载和保存,以防止UI卡顿。这可能涉及到AsyncTask或者Loader的使用。 以上就是基于“Android 画图程序源码”可能涉及的一些核心技术点。通过分析这个源码,开发者可以学习到...
总之,"Android Studio 电子签名、手绘画图保存"是一个结合了Android图形绘制和本地存储功能的实用案例。开发者可以通过学习和理解这个案例,提升自己在Android图形编程和文件操作方面的技能,这对于开发涉及用户...
本教程将通过分析提供的“android画图程序源代码”来深入理解Android图形绘制的基本概念和技术。 首先,Android提供了多种方式来绘制图形,主要包括Canvas、Paint、Path以及Bitmap等类。Canvas是绘画的基础,它提供...
在Android平台上,开发一款画图板应用涉及到许多关键知识点,...综上所述,"android画图板示例程序"是一个涉及自定义View、Canvas绘图和触摸事件处理的项目,通过这些技术,开发者可以构建一个功能丰富的互动画图应用。
- "RecordDemo.zip"可能是一个记录用户画图操作的示例,它可能涉及到路径的保存和回放功能。 - "sample (1).zip"和"sample.zip"可能是两个不同的绘图示例,可能涵盖了更高级的特性,如颜色选择、画笔样式、手势...
在`Android绘制折线图.doc`和`LineChart`这两个文件中,很可能会包含如何创建和配置折线图的详细步骤,包括数据的准备、渲染器的设置以及图表的显示和保存。这些文档可能还会提供示例代码,帮助开发者快速理解和应用...
5. **图片保存**:Android的`Bitmap`类用于表示位图图像,它可以用于保存用户在画图板上绘制的内容。我们可以将`Canvas`上的内容转换为`Bitmap`,然后利用`MediaStore.Images.Media.insertImage()`或`Bitmap....
以上就是开发一个简单的Android画图应用所涉及的关键技术点,通过这些技术,我们可以创建一个功能丰富的画图工具,满足用户的基本需求。不过,实际开发过程中还需要考虑性能优化、用户体验等因素,以提供更优质的...
本文将详细解析"android画图板"这个主题,介绍如何在Android中实现一个基本的画线功能,并探讨两种不同的实现方法。 首先,我们要了解Android中的画布(Canvas)和画笔(Paint)概念。Canvas是Android图形系统的一...
3. **保存和恢复画图状态**:`Canvas`提供了`save()`和`restore()`方法,用于保存和恢复绘图状态。这在需要进行复杂的变换或确保后续绘图不受影响时非常有用。 4. **路径绘图**:可能使用`Path`类来创建和管理多段...
在画图工具中,`Bitmap`通常作为绘图的画布,可以使用`Canvas`在上面进行绘制,并通过`save`和`restore`方法来管理绘图状态,实现局部重绘或者保存当前绘图的状态。 此外,源码中可能还包括了触摸事件处理,例如`...
此外,为了实现一个完整的画图应用,还需要考虑其他功能,如撤销/重做、保存和分享图片、选择不同的画笔颜色和粗细、添加橡皮擦功能等。这些功能的实现会涉及更多的Android组件和数据结构,如ArrayList用于存储路径...
这个示例项目,名为“android画图简单示例”,旨在帮助开发者理解如何利用Android SDK中的相关API来创建这样一个交互式的图形界面。下面将详细阐述实现这些功能的关键知识点。 首先,我们关注的是画图功能。在...
本文将深入探讨Android中Canvas画图的相关知识点,帮助你理解和掌握其核心功能。 1. **Canvas的基本概念** - Canvas是Android系统提供的一个类,它提供了在二维画布上进行绘制的方法。 - 通常,我们会在一个...
"android 画图小例子" 涉及的是如何在Android环境中利用Canvas和相关API进行图形绘制。下面将详细介绍这个主题。 首先,Android中的画图主要通过`View`类的子类实现,特别是`SurfaceView`或自定义的`View`类。...
7. 数据存储与分享:为了让用户保存他们的作品,你需要实现将Bitmap转换为图片文件(如JPEG或PNG),并保存到本地或者上传到云端。同时,提供分享功能,允许用户通过社交应用分享他们的画作。 总之,这个"Android...