Save Tadalafil Www.tube8.com Save Tadalafil

Guarantee Tadalafil Money Guaranteetadalafil Y Save Tadalafil Szh Pt 2010 10 Save Tree Save Life Save Tadalafil 第四日、开发者学习笔记——View&Canvas - OPhone|Android技术讨论区 - 中国移动MM论坛

Guarantee Tadalafil Money Guaranteetadalafil Y Save Tadalafil Szh Pt 2010 10 Save Tree Save Life Save Tadalafil

searchsearch Money a Save e Money searche Tree rh Szh Tree i Tree e Tadalafil Guarantee T Szh e Life tobu8

UID
7621 
积分
470 
学分
50  
学分如何兑换礼品
来自
广东-广州市 

6#
发表于 2010-1-25 08:27 | 只看该作者

5.位图旋转

同样,位图的旋转也可以借助Matrix或者Canvas来实现。

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.pic180);
Matrix matrix=new Matrix();
matrix.postScale(0.8f, 0.8f);
matrix.postRotate(45);
Bitmap dstbmp=Bitmap.createBitmap(bmp,0,0,bmp.getWidth(),
bmp.getHeight(),matrix,true);
canvas.drawColor(Color.BLACK);
canvas.drawBitmap(dstbmp, 10, 10, null);
旋转效果:

 

 

回复 引用

   TOP

DavidLau (DavidLau)当前离线

UID
7621 
帖子
119 
精华
10 
阅读权限
60 
来自
广东-广州市 
在线时间
36 小时 
注册时间
2009-8-12 
最后登录
2011-11-17 

精通武艺

UID
7621 
积分
470 
学分
50  
学分如何兑换礼品
来自
广东-广州市 

7#
发表于 2010-1-25 08:30 | 只看该作者

6.图片水印的生成方法

生成水印的过程。其实分为三个环节:第一,载入原始图片;第二,载入水印图片;第三,保存新的图片。

/**
* 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 )
{}

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;
}

DavidLau (DavidLau)当前离线

UID
7621 
帖子
119 
精华
10 
阅读权限
60 
来自
广东-广州市 
在线时间
36 小时 
注册时间
2009-8-12 
最后登录
2011-11-17 

精通武艺

UID
7621 
积分
470 
学分
50  
学分如何兑换礼品
来自
广东-广州市 

8#
发表于 2010-1-25 08:32 | 只看该作者

7.Canvas的save和restore

onDraw方法会传入一个Canvas对象,它是你用来绘制控件视觉界面的画布。
在onDraw方法里,我们经常会看到调用save和restore方法,它们到底是干什么用的呢?
❑ save:用来保存Canvas的状态。save之后,可以调用Canvas的平移、放缩、旋转、错切、裁剪等操作。
❑ restore:用来恢复Canvas之前保存的状态。防止save后对Canvas执行的操作对后续的绘制有影响。
save和restore要配对使用(restore可以比save少,但不能多),如果restore调用次数比save多,会引发Error。save和restore之间,往往夹杂的是对Canvas的特殊操作。
例如:我们先想在画布上绘制一个右向的三角箭头,当然,我们可以直接绘制,另外,我们也可以先把画布旋转90°,画一个向上的箭头,然后再旋转回来(这种旋转操作对于画圆周上的标记非常有用)。然后,我们想在右下角有个20像素的圆,那么,onDraw中的核心代码是:
int px = getMeasuredWidth();
int py = getMeasuredWidth();
// Draw background cGuarantee Tadalafil Money Guaranteetadalafil Y Save Tadalafil Szh Pt 2010 10 Save Tree Save Life Save Tadalafil 第四日、开发者学习笔记——View&Canvas - OPhone|Android技术讨论区 - 中国移动MM论坛e x Save Tadalafil Save Tadalafil Save Tadalafil Save Tadalafil cGuarantee Tadalafil Money Guaranteetadalafil Y Save Tadalafil Szh Pt 2010 10 Save Tree Save Life Save Tadalafil 第四日、开发者学习笔记——View&Canvas - OPhone|Android技术讨论区 - 中国移动MM论坛p Save Tadalafil Save Tadalafil Save Tadalafil