随笔分类 - 教程
摘要:OpenGL ES 中Depth Buffer 保存了像素与观测点之间的距离信息,在绘制3D图形时,将只绘制可见的面而不去绘制隐藏的面,这个过程叫”Hidden surface removal” ,采用的算法为”The depth buffer algorithm”。一般来说,填充的物体的顺序和其顺序是一致的,而要准确的显示绘制物体在Z轴的前后关系,就需要先绘制距离观测点(ViewPoint)最远的物体,再绘制离观测点较远的物体,最后绘制离观测点最近的物体,因此需要对应所绘制物体进行排序。OpenGL ES 中使用Depth Buffer存放需绘制物体的相对距离。The depth buffe
阅读全文
摘要:直线的虚线摸板(DashArray)指出了虚线的模式和间隔。下面的例子使用了不同的Dash Pattern来显示同一条线段。private void Dashes()
{ Color blackColor = new Color(0x000000); int[] dashArray1 = { 2, 2 }; int[] dashArray2 = { 6, 6 }; int[] dashArray3 = { 4, 1, 2, 1, 1, 6 }; graphics2D.Reset(); graphics2D.Clear(Color.White); Pen pen = new P...
阅读全文
摘要:本包中定义了各种二维几何图形。基本上是参照Java SE 中相应类来定义实现的。PathIterator路径元素枚举类。IShapeShape接口定义了二维图形的一些基本方法。AffineTransform仿射变换类。Arc圆弧类。Area二维区域类。CubicCurve三次曲线类。Dimension二维图形大小类。Ellipse椭圆类。FlatteningPathIterator平滑变换路径枚举类。Path路径类。Line线段类。Point二维点。Polygon多边形。Polyline多义线。QuadCurve四次曲线类。Rectangle矩形类。RectangularShape具有矩形外框
阅读全文
摘要:这个例子和Translucent不同的一点是Blur,也就是显示在当前Activit背后的其它Activity以模糊方式显示。这是通过window对象Flag来设置的。getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParams.FLAG_BLUR_BEHIND);其它设置Theme和Translucent示例一样。
阅读全文
摘要: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
阅读全文
摘要:引路蜂二维图形库中的颜色值是个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
阅读全文
摘要:Sumsung Galaxy Nexus 屏幕分辨率为 1280X 720,但通常的应用都会显示Navigation Bar(Back 键,Home 键等),如下图所示:但我注意到Youtube应用在问触摸事件时,会自动隐藏Navigation Bar,全屏播放影片。网上有使用定制ROM的方式实现全屏。但如果你想实现和Youtube类似的方法自动隐藏Navigation Bar,全屏显示应用,简单的方法如下:在OnCreate方法中使用。myview.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);其中的myview 可以为
阅读全文
摘要:SetWallpaper介绍如何在Android获取当前Wallpaper,对Wallpaper做些修改,然后用修改后的图像重新设置Wallpaper。WallpaperManager用来管理Android的Wallpaper。下面代码通过WallpaperManager来取得当前Wallpaper然后显示在屏幕Layout的imageView上。final WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
final Drawable wallpaperDrawable = wallpaperM..
阅读全文