第12章图形图像解说.ppt
文本预览下载声明
7. 图像像素的操作 8)程序修改 C. pos1 = BACKWIDTH * i+j; //原图的显示 7. 图像像素的操作 8)程序修改 C. pos1 = BACKWIDTH * (BACKHEIGHT-i-1) + j; //上下翻转的显示 7. 图像像素的操作 Android中,每个图像像素通过一个4字节的整数来表示, 分别是:Alpha、R、G、B E. Bitmap2[pos2++] = Bitmap1[pos1++]0xffff0000; 去除绿色、蓝色分量,只保留红色、alpha分量 7. 图像像素的操作 F. Bitmap2[pos2++] = Bitmap1[pos1++]0xff00ff00; 去除红色、蓝色分量,只保留绿色、alpha分量 7. 图像像素的操作 G. 图像分割 int temp; temp=Bitmap1[pos1]0x000000ff; if(temp=150) Bitmap2[pos2]=0x00ffffff; else Bitmap2[pos2]=0 第十二章 图形图像 1.访问图片 2. Tween动画 3. Frame动画 4.图形的绘制 5.通过Matrix实现动画 6.Shader类实现图形特效 7.图像像素的操作 第十二章 图形图像 第十三章 OPENGL 第十四章 游戏开发 第十二章 图形图像 1.访问图片 2. Tween动画 3. Frame动画 4.图形的绘制 5.通过Matrix实现动画 6.Shader类实现图形特效 7.图像像素的操作 5.通过Matrix实现动画 参考:Chapter12_Graphic_Matrix 主要通过Matrix类实现,通过函数: setRotate()、setScale()、setTranslate() 完成旋转、缩放、平移 5.通过Matrix实现动画 运行效果: 通过上下键,对图片进行缩放 通过左右键,对图片进行旋转 5.通过Matrix实现动画 1)获得位图的对象和属性 bm = BitmapFactory.decodeResource (this.getResources(), R.drawable.girl); w = bm.getWidth(); h = bm.getHeight(); 5.通过Matrix实现动画 2)在OnDraw函数中根据scale和angle创建新的图片,并进行显示 matrix.reset(); if (!isScale) { // 旋转Matrix matrix.setRotate(angle); } else { // 缩放Matrix matrix.setScale(scale, scale); } 5.通过Matrix实现动画 2)在OnDraw函数中根据scale和angle创建新的图片,并进行显示 // 根据原始位图和Matrix创建新视图 Bitmap bm2 = Bitmap.createBitmap(bm, 0, 0, w, h, matrix, true); // 绘制新视图 canvas.drawBitmap(bm2, matrix, null); 5.通过Matrix实现动画 3)根据手机上的方向键操作,对angle和scale进行修改 A. 通过KeyEvent获取按键类型 keyCode == KeyEvent.KEYCODE_DPAD_LEFT B. 左右按键控制旋转 // 向左旋转 if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) { isScale = false; angle++; postInvalidate(); } 5.通过Matrix实现动画 3)根据手机上的方向键操作,对angle和scale进行修改 B. 左右按键控制旋转 // 向右旋转 if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) { isScale = false; angle--; postInvalidate(); } 5.通过Matrix实现动画 3)根据手机上的方向键操作,对angle和scale进行修改 C. 上下按键控制缩放 // 放大 if (keyCode == KeyEvent.KEYCODE_DPAD_UP) { isScale = true; if (scale 2.0) scale += 0.1; postInvalidate(); } 5.通过Matrix实现动画 3)根据手机上的方向键操作,对angle和scale
显示全部