摘要:
OpenGL ES 中的FrameBuffer 指的是存储像素的内存空间。对应一个二维图像,如果屏幕分辨率为1280X1024 ,如果屏幕支持24位真彩色 (RGB),则存储这个屏幕区域的内存至少需要1024X1280X3个字节。此外如果需要支持透明度(Alpha),则一个像素需要4个字节。对应3D图像来说,上面存储显示颜色的Buffer称为Color Buffer,除Color Buffer之外,还需要存储每个像素和View Point之间的距离,OpenGL ES中使用Depth Buffer 存储像素与眼睛(eye 或是view point)的距离,Depth Buffer也可称为z B 阅读全文
摘要:
注:本文译自:http://developer.android.com/guide/topics/graphics/2d-graphics.htmlAndroid框架API提供了一组2D描画API,使用这些API能够在一个画布(canvas)上渲染自己的定制图形,也能够修改那些既存的View对象,来定制它们的外观和视觉效果。在绘制2D图形时,通常要使用以下两种方法中的一种:1.把图形或动画绘制到布局中的一个View对象中。在这种方式中,图形的绘制是由系统通常的绘制View层次数据的过程来处理的---只需简单的定义要绘制到View对象内的图形即可。2.把图形直接绘制在一个画布对象上(Canvas 阅读全文
摘要:
1.在AndroidManifest.xml配置文件的<application>标签中加入: <uses-library android:name="android.test.runner" /> <application>标签外面加入: <uses-permission android:name="android.permission.RUN_INSTRUMENTATION" /> <instrumentationandroid:name="android.test.Instrumenta 阅读全文
摘要:
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)当View对象相关的上下文菜单显示的时候,系统会调用该方法。跟onCreateOptionMenu(Menu, MenuInflater)不同,这个方法在上下文菜单每次显示的时候,都会被调用,并且应该被填入对应的View对象。使用onContextIntemSelected(android.view.MenuItem)方法来获取被选择的菜单项。这个方法的默认实现是调用Activity.onCreateCon 阅读全文
摘要:
1.简单工厂(Simple Factory)部分*针对接口编程可以隔离掉系统以后可能发生的一大堆改变。*用静态方法定义的工厂被成为静态工厂,这样就不用使用创建对象的方法来实例化对象,使用方便。但是这样做的缺点是无法通过继承来改变创建方法的行为。*简单工厂不是一种设计模式,但是它比较常用。2.工厂方法(Factory Method)模式部分----芝加哥风味匹萨店----public class ChicagoPizzaStore extends PizzaStore {
Pizza createPizza(String item) {
if ("cheese".equals 阅读全文
摘要:
引路蜂二维图形库中的颜色值是个32位整数,采用0xAARRGGBB格式。Alpha通道指定了颜色的透明度,0×00表示全透明,0xFF表示完全不透明。下面的代码显示了如何创建不透明和半透明的颜色。private void Colors()
{ /** * The solid (full opaque) red color in the ARGB space */ Color redColor = new Color(0xffff0000, false); /** * The semi-opaque green color in the ARGB space (alph... 阅读全文
摘要:
定义平台无关二维图形库类定义。其功能和Java SE 中 Graphics2D或是 .Net 中System.Drawing 功能类似。提供Drawing包的的主要原因是部分移动平台自带的二维图形库功能比较弱。比如Java ME 平台上不支持线宽大于1的画笔等等。Brush画刷类。Color颜色类。Graphics2DGraphics2D 提供各种绘图功能。LinearGradientBrush线性渐变画刷类。Pen画笔类。RadialGradientBrush环状渐变画刷类。SolidBrush单色画刷类。TextureBrush材质画刷类。 阅读全文
摘要:
Activity分类示例的最后几个例子是来显示半透明Activity。例子大同小异。实现Activity的半透明效果主要是通过Style和Theme来实现的。看看TranslucentActivity 在AndroidManifest.xml中的定义:<activity android:name=”.app.TranslucentActivity”android:label=”@string/activity_translucent”android:theme=”@style/Theme.Translucent”><intent-filter>< action a 阅读全文
摘要:
在编写一个应用程序时,正确的考虑图形需求是至关重要的。最好是根据不同的图形任务来使用合适的图形技术。例如:相对静态应用程序而言,交互游戏应用的图形和动画会有很多差异。以下我们会讨论在Android平台上可以使用的几种图形描画的选项,以及它们最适用的场景。Canvas and DrawablesAndroid平台提供一组View可视构件,它们提供与用户交互的一般化功能。还可以扩展这个可视构件,来修改它们的外观和行为。另外,还能够使用包含在Canvas或创建的Drawable对象中的各种描画方法来定制自己的2D渲染,如纹理按钮或帧动画等。Hardware Acceleration从Android3 阅读全文
摘要:
OpenGL ES 只能通过绘制三角形来构造几何图形,比如前面绘制的20面体Android OpenGL ES 开发教程(12):绘制一个20面体,通过增加正多面体的边数,就可以构造出一个球体:在项目中创建一个Sphere 类,它的Draw 方法,通过绘制三角形来构造球体,并且为其添加法线,法线主要用于光照效果,将在后面介绍。public void draw(GL10 gl) { float theta, pai; float co, si; float r1, r2; float h1, h2; float step = 2.0f; float[][... 阅读全文