Android 图形图像
zhang31jian
忠实踏实,吃苦耐劳,并能够承担一定的工作压力; 适应能力强,有较强的团队精神,工作积极进取,态度认真,有较强的自学能力.
展开
-
关于图像位图
关于ARGB_8888、ALPHA_8、ARGB_4444、RGB_565的理解A:透明度R:红色G:绿B:蓝Bitmap.Config ARGB_4444:每个像素占四位,即A=4,R=4,G=4,B=4,那么一个像素点占4+4+4+4=16位 Bitmap.Config ARGB_8888:每个像素占四位,即A=8,R=8,G=8,B=8,那么一个像素点原创 2014-09-27 21:34:36 · 534 阅读 · 0 评论 -
android图像处理系列之五--给图片添加边框(中)
前面一篇讲到给图片加边框的方式,只能给图片加一些有规则的边框,如果想加一些比较精美的效果,就有点麻烦了。下面就给出解决这个问题的思路。思路是:一些比较精美的花边图片我们是很难用代码控制,就目前本人水平是达不到,不排除牛人,再说了PS那些效果都是程序员做出来,肯定有实现的方法,这可能就要涉及很复杂的图形学。扯远了,接来说怎么用那些精美的花边做为图片的边框。简单的方式是用两张图片叠加。最简单的一种转载 2013-11-19 11:33:09 · 1086 阅读 · 0 评论 -
android图像处理系列之四--给图片添加边框(上)
图片处理时,有时需要为图片加一些边框,下面介绍一种为图片添加简单边框的方法。基本思路是:将边框图片裁剪成八张小图片(图片大小最好一致,不然后面处理会很麻烦),分别对应左上角,左边,左下角,下边,右下角,右边,右上角,上边,其中左右上下只需要一个有效长度,就像重写水平进度条一样,只需要一个有效的长度,然后平铺,就达到了最后想要的效果,不错,左右上下边采用的也是这样的思路。也可以将八张图片组合在一转载 2013-11-19 11:31:59 · 1654 阅读 · 0 评论 -
android图像处理系列之三--图片色调饱和度、色相、亮度处理
原图:处理后:下面贴代码:一、图片处理层:package com.jacp.tone.view;import java.util.ArrayList;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;转载 2013-11-19 11:20:59 · 1979 阅读 · 0 评论 -
Android学习笔记进阶18之画图并保存图片到本地
1、首先创建一个Bitmap图片,并指定大小; 2、在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可; 3、需要保存的目录File,注意如果写的目录如“/sdcard/song/”如果不存在的话,要先创建(file.mkdirs).。4、需要添加权限:Canvas是一个画布,你可以建立一个空白的画布,就直接new一个Canvas对象,不需要参数。转载 2013-11-19 11:15:39 · 867 阅读 · 0 评论 -
Android学习笔记进阶19之给图片加边框
[java] view plaincopyprint?//设置颜色 public void setColour(int color){ co = color; } //设置边框宽度 public void setBorderWidth(int width){ borderwidth转载 2013-11-19 11:10:04 · 889 阅读 · 0 评论 -
Android学习笔记进阶20之得到图片的缩略图
1>简介之前往往是通过Bitmap、Drawable和Canvas配合完成,需要写一系列繁杂的逻辑去缩小原有图片,从而得到缩略图。现在我给大家介绍一种比较简单的方法:(网上有)在Android 2.2版本中,新增了一个ThumbnailUtils工具类来是实现缩略图,此工具类的功能是强大的,使用是简单,它提供了一个常量和三个方法。利用这些常数和方法,可以轻松快捷的实现图片和视频的缩略图转载 2013-11-19 11:07:15 · 808 阅读 · 0 评论 -
Android学习笔记之详细讲解画圆角图片
[java] view plaincopyprint?package xiaosi.RoundConcer; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Bitmap.Config; import android.graphics.Bitma转载 2013-11-19 11:02:09 · 1003 阅读 · 0 评论 -
Android学习笔记进阶之在图片上涂鸦(能清屏)
HandWritingActivity.java[java] view plaincopyprint?package xiaosi.handWriting; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterfac转载 2013-11-19 10:52:41 · 2148 阅读 · 0 评论 -
Android的图片叠加
android.graphics.Bitmap.Config是一个枚举类型,里面定义了位图的四种格式. ALPHA_8,ARGB_4444,ARGB_8888都是透明的位图,也就是所字母A代表透明. 从名字中可以看出: ALPHA_8: 一种透明度为8位的位图. ARGB_4444: A,R,G,B,每一个参数由4bit表示,是一种16位的位图.转载 2013-11-19 10:34:27 · 9373 阅读 · 1 评论 -
android - 使用缩略图
一.主要是通过BitmapFactory.Options 来实现。Options中有个属性inJustDecodeBounds。我们可以充分利用它,来避免大图片的溢出问题。他是什么原理呢?API这样说:如果该 值设为true那么将不返回实际的bitmap,也不给其分配内存空间这样就避免内存溢出了。但是允许我们查询图片的信息这其中就包括图片大小信息(options.outHeight转载 2013-11-19 10:12:44 · 6199 阅读 · 0 评论 -
android图像处理系列之六--给图片添加边框(下)-图片叠加
前面介绍了一种用透明图片叠加的方式添加花边边框,下面将介绍另外一种图片叠加添加花边边框的方式。前面方法有一个缺点,就是做成PNG图片,图片体积会很大,不是一般的大,比同样的JPG大三倍多,如果项目可以忽略包的大小,那么可以用前种处理方式,本文讲到的虽然可以减小图片的体积,但处理较复杂,而且本人研究的还不是很成熟。本文就是针对JPG边框处理,但缺点是还不够成熟,仅提供思路。思路:可以将边框做成J转载 2013-11-19 11:34:05 · 1275 阅读 · 0 评论 -
android图片特效处理之怀旧效果
图片特效处理系列将介绍图片的像素点的特效处理,这些物资注重的是原理。也就是说只要你知道这些算法不管是C++,VB,C#,JAVA都可以做出相同的特效。下面将介绍图片怀旧效果的算法。算法如下:上面公式的意思是说将每个像素点的RGB值先分离出来,然后再按照上面的三个算式分别重新计算出RGB值然后做为当前点的RGB值。下面看效果图片:原图片:处理后:代转载 2013-11-19 11:36:12 · 1412 阅读 · 0 评论 -
抗锯齿方法两种
在Android中,目前,我知道有两种出现锯齿的情况。 ①当我们用Canvas绘制位图的时候,如果对位图进行了选择,则位图会出现锯齿。 ②在用View的RotateAnimation做动画时候,如果View当中包含有大量的图形,也会出现锯齿。我们分别以这两种情况加以考虑。 ◆用Canvas绘制位的的情况。在用Canvas绘制位图时,一般地,我们使用drawBitmap函数家族,在这些函转载 2014-07-30 10:33:55 · 3564 阅读 · 0 评论 -
Invalidate和postInvalidate的区别
Android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用。 Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。原创 2014-08-04 17:54:51 · 479 阅读 · 0 评论 -
ImageView.ScaleType设置图解
1. SetScaleType(ImageView.ScaleType.CENTER); 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示转载 2014-06-10 18:53:50 · 550 阅读 · 0 评论 -
Android中几种图像特效处理
Android中有很多图片特效处理技巧,比如圆角、倒影,今天为大家分享一个实例,本例主要是先获取壁纸(getWallpaper()),然后对当前壁纸的一些特效处理。 第一步:新建一个Android工程命名为ImageDemo,工程结构如下: 第二步:新建一个.java文件,命名为ImageUtil.java,在里面定义一些图片处理方法,代码如下:转载 2013-01-23 14:24:20 · 308 阅读 · 0 评论 -
android图片特效处理之图片叠加
这篇将讲到图片特效处理的图片叠加效果。跟前面一样是对像素点进行处理,可参照前面的android图像处理系列之七--图片涂鸦,水印-图片叠加和android图像处理系列之六--给图片添加边框(下)-图片叠加两篇文章,此篇所讲的与之前有一点区别。叠加原理是两张图片的像素点按透明度叠加,不会进行颜色过滤。叠加图片可以是JPG格式,跟前在一样,最好是放大assets目录。下面看效果图:+=代码:转载 2013-11-19 11:44:09 · 4236 阅读 · 0 评论 -
android图片特效处理之光照效果
这篇将讲到图片特效处理的光照效果。跟前面一样是对像素点进行处理,算法是通用的。算法原理:图片上面的像素点按照给定圆心,按照圆半径的变化,像素点的RGB值分别加上相应的值作为当前点的RGB值。例:ABCDEFGHIJKLMNO如果指定H点为光照效果的中心,半径为两个像素点,那么G点RGB值分别加上的值会比F点的要大,因为RGB值越大,就越接近白色,所以G点看起来比F点要白,也转载 2013-11-19 11:42:41 · 1303 阅读 · 0 评论 -
android图像处理(3)底片效果
这篇将讲到图片特效处理的底片效果。跟前面一样是对像素点进行处理,算法是通用的。算法原理:将当前像素点的RGB值分别与255之差后的值作为当前点的RGB值。例:ABC求B点的底片效果:B.r = 255 - B.r;B.g = 255 - B.g;B.b = 255 - B.b;效果图: 效果图转载 2013-11-19 11:41:48 · 976 阅读 · 0 评论 -
android图片特效处理之锐化效果
这篇将讲到图片特效处理的锐化效果。跟前面一样是对像素点进行处理,算法是通用的。算法原理:一、简单算法:分别获取当前像素点和八个周围像素点的RGB值,先求出当前像素点的RGB值与八个像素点RGB值的和的平均数,再乘以相应的系数,然后在与当前像素点之和。例:ABCDEFGHI对E点进行锐化:[java] view plaincopyprint?转载 2013-11-19 11:40:21 · 1249 阅读 · 0 评论 -
android图片特效处理之模糊效果
这篇将讲到图片特效处理的模糊效果。跟前面一样是对像素点进行处理,算法是通用的,但耗时会更长,至于为什么,看了下面的代码你就会明白。算法:一、简单算法:将像素点周围八个点包括自身一共九个点的RGB值分别相加后平均,作为当前像素点的RGB值,即可实现效果。举例:ABCDEFGHI假如当前点是E,那么会有:[java] view plaincopyprin转载 2013-11-19 11:38:47 · 4149 阅读 · 1 评论 -
Android图像处理(2):怀旧效果
图片怀旧效果的算法: 我们用颜色矩阵(ColorMatrix)来完成我们的怀旧效果。如果有不知道ColorMatrix的原理的话可以参考:Android学习笔记之图像颜色处理(ColorMatrix)这就是那个颜色矩阵。我们可以利用上面的计算方法来改变我们的颜色矩阵的值从而达到我们想要的效果。上面的计算方法可以转换为: M = 在Android中,颜色矩阵M转载 2013-11-19 11:37:21 · 977 阅读 · 0 评论 -
Android进阶2之Bitmap、Drawable、byte[]转换
将Drawable转化为Bitmap[java] view plaincopyprint?public static Bitmap drawableToBitmap(Drawable drawable) { // 取 drawable 的长宽 int w = drawable.getIntrinsicWidth();转载 2015-03-06 17:25:26 · 861 阅读 · 0 评论