`
小泥巴1024
  • 浏览: 22647 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

getBounds() 方法与 getRect()

阅读更多
getBounds () 方法

public function getBounds(targetCoordinateSpace:DisplayObject):Rectangle

语言版本:  ActionScript 3.0
运行时版本:  AIR 1.0 Flash Player 9, Flash Lite 4



返回一个矩形,该矩形定义相对于 targetCoordinateSpace 对象坐标系的显示对象区域。考虑以下代码,此代码显示了矩形
的返回方式根据您传递给该方法的 targetCoordinateSpace 参数的不同而不同:

     var container:Sprite = new Sprite();
     container.x = 100;
     container.y = 100;
     this.addChild(container);
     var contents:Shape = new Shape();
     contents.graphics.drawCircle(0,0,100);
     container.addChild(contents);
     trace(contents.getBounds(container));
      // (x=-100, y=-100, w=200, h=200) 得到一个新的矩形,这个新矩形的x,y值,也就是位置是相对于getBounds参数container对象原位置向左向上偏移100。也就是说x,y位置是相对于container的注册点的偏移。
     trace(contents.getBounds(this));
      // (x=0, y=0, w=200, h=200),这里的this应该是指舞台。位置相对于舞台注册点的偏移。
请注意:使用 localToGlobal() 和 globalToLocal() 方法可以分别将显示对象的本地坐标转换为显示坐标,或将显示坐标转
换为本地坐标
这里的提示是说,得到的rectangle要经过坐标转换才有实用价值。
getBounds() 方法与 getRect() 方法类似;但是 getBounds() 方法返回的矩形包括形状的所有笔触,然而 getRect() 方法返回的矩形则不包括
getRect () 方法
public function getRect(targetCoordinateSpace:DisplayObject):Rectangle
语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9, Flash Lite 4
返回一个矩形,该矩形根据 targetCoordinateSpace 参数定义的坐标系定义显示对象的边界,但不包括形状上的任何笔触。getRect() 方法返回的值等于或小于由 getBounds() 方法返回的值。
请注意:使用 localToGlobal() 和 globalToLocal() 方法可以分别将显示对象的本地坐标转换为舞台坐标,或将舞台坐标转换为本地坐标。
参数
targetCoordinateSpace:DisplayObject — 定义要使用的坐标系的显示对象。
返回
Rectangle — 定义与 targetCoordinateSpace 对象坐标系统相关的显示对象面积的矩形。
另请参见
getBounds()

示例  ( 如何使用本示例 )
下例显示 getBounds() 方法如何由于笔触占据的更多区域而比 getRect() 方法返回更大的矩形。在这种情况下,triangle Sprite 包括其他笔触,因为有 lineStyle() 方法的 width 和 jointStyle 参数。trace() 输出(在最后两行中)显示了 getRect() 和 getBounds() 矩形之间的差异:

import flash.display.CapsStyle;
import flash.display.JointStyle;
import flash.display.LineScaleMode;
import flash.display.Sprite;
import flash.geom.Rectangle;

var triangle:Sprite = new Sprite();
var color:uint = 0xFF0044;
var width:Number = 20;
var alpha:Number = 1.0;
var pixelHinting:Boolean = true;
var scaleMode:String = LineScaleMode.NORMAL;
var caps:String = CapsStyle.SQUARE;
var joints:String = JointStyle.MITER;
triangle.graphics.lineStyle(width, color, alpha, pixelHinting, scaleMode, caps, joints);

var triangleSide:Number = 100;
triangle.graphics.moveTo(0, 0);
triangle.graphics.lineTo(0, triangleSide);
triangle.graphics.lineTo(triangleSide, triangleSide);
triangle.graphics.lineTo(0, 0);

addChild(triangle);

trace(triangle.getBounds(this)); // (x=-10, y=-24.1, w=134.10000000000002, h=134.1)    //它的线很粗,它的起始点是(0,0)
它的起始点确实在(0,0),但因为线粗的原因,线粗为20像素,所以从(0,0)到(0,100)这条垂直线上,有一半在舞台外面,所以当相对于舞台是,它的横坐标是-10,它的纵坐标为-24。宽度和高度也都把线宽算到里面了。
trace(triangle.getRect(this));     // (x=0, y=0, w=100, h=100)

分享到:
评论

相关推荐

    flash学习笔记(一些常用方法的例子)

    `getBounds()` 方法用于获取一个`DisplayObject`相对于指定坐标空间(`targetCoordinateSpace`)的边界矩形。这个方法非常实用,因为它可以帮助我们确定对象在特定参考系中的位置和大小。例如,在给定的代码示例中...

    GDIplus 图像属性和方法集成

    5. **GetBounds**:获取图像的边界矩形。 6. **GetThumbnailImage**:获取图像的缩略图版本。 7. **GetFrameDimensions**:获取一个 GUID 数组,每个 GUID 代表一个帧。 8. **GetFrameCount**:获取帧的数量。 9. **...

    关于JAVA8 Window类的使用方法.pdf

    可以通过一系列方法来获取窗口的当前状态信息,例如,通过getBounds()方法可以获取窗口的大小和位置,通过getLocationOnScreen()方法可以获取窗口在屏幕上的实际位置,而通过getLocation()和getSize()方法则可以获取...

    sodaWithinBox:使用传单的 getBounds() 方法进行 inside_box 查询的简单 SODA API 示例

    使用 Leaflet 的 SODA inside_box() 示例一个简单的网络地图,它从传单中获取当前边界框并从 SODA API 中提取数据,在地图上创建带有弹出窗口的标记。该地图在固定位置加载并检索过去 7 天来自纽约市的 311 次投诉以...

    GoogleMap API2 和GoogleMap API3 的应用

    本文主要探讨了Google Maps API2与API3中`getBoundsZoomLevel`方法的不同用法,这对于地图开发人员来说是个重要的知识点。 在Google Maps API 2中,`getBoundsZoomLevel`是一个非常实用的功能,它允许开发者根据...

    Java的常用方法总汇.doc

    `getBounds()`返回组件的边界信息,`getToolkit()`获取与系统相关的工具包,`setEnabled()`设定组件是否可交互。 以上这些组件和方法构成了Java GUI的基础,开发者可以根据需求组合和定制这些组件,创建出符合用户...

    百度地图 API 类参考,2018整理,很全

    4. 地图状态方法:Map 类提供了多个状态方法,例如 getBounds()、getCenter()、getDistance()、getMapType()、getSize() 等,用于获取地图的当前状态信息。 5. 地图状态修改方法:Map 类提供了多个状态修改方法,...

    Circle2D_java_circle2D_

    `Circle2D`支持各种几何操作,如检查点是否在圆内(`contains(Point2D)`), 检查两个圆是否相交(`intersects(Circle2D)`), 计算圆的边界框(`getBounds2D()`), 获取圆心距(`distance2D(Circle2D)`), 等。 ### 第六章:...

    Android仿头条、微信大图预览视图的方法详解

    Android仿头条、微信大图预览视图的方法详解 大图预览是移动应用程序中的一种常见功能, Android 仿头条、微信大图预览视图是指在 Android 平台上实现大图预览的功能,类似于微信和头条应用程序中的大图预览功能。...

    字形轮廓提取显示C#源码_《0528》.rar

    然后,我们可以使用GraphicsPath的GetBounds方法获取字形轮廓的边界,这在需要进行裁剪或缩放操作时非常有用。 为了显示字形轮廓,我们需要创建一个Bitmap对象,然后使用Graphics类在该位图上绘制路径。Graphics类...

    rcp定制应用程序窗口属性

    例如,要在启动时设置窗口标题为“高校经费测算系统”,可以在ApplicationWorkbenchWindowAdvisor的preWindowOpen()方法中调用IWorkbenchWindowConfigurer的setTitle()方法。 ```java configurer.setTitle("高校...

    java多种改变字体样式实例

    j < shape.getBounds().y + shape.getBounds().height; j=j+3) { Line2D line = new Line2D.Float( 0.0f, (float) j, (float) w, (float) j); g2.draw(line); } } public static void main(String s[]) { ...

    Java Shape

    2. `intersects`: 检查该形状与其他形状是否有交集。 3. `getBounds`: 获取形状的边界矩形。 4. `getBounds2D`: 获取更精确的边界矩形,通常用于处理非方形形状。 5. `getPathIterator`: 提供形状的路径迭代器,可以...

    libgdx——中文显示与汉字绘制

    font.draw(batch, "你好,世界", x - font.getBounds("你好,世界").width / 2, y - font.getBounds("你好,世界").height / 2, 0, font.getBounds("你好,世界").width, TextAlignment.CENTER); ``` 4. **颜色和...

    java圆按钮详细代码

    shape.getBounds().equals(getBounds())) { shape = new Ellipse2D.Float(0, 0, getWidth(), getHeight()); } return shape.contains(x, y); } // 主程序 public static void main(String[] args) { ...

    Pixi.js学习 (七)碰撞检测与定时动画 源码

    在"Pixi.js学习(七):碰撞检测与定时动画 源码"这个主题中,我们将深入探讨两个核心概念:碰撞检测和定时动画。 碰撞检测是游戏中不可或缺的一部分,它允许我们检查游戏中的对象是否发生相互接触。在Pixi.js中,...

    [Android实例] Android 竖着的SeekBar.zip

    canvas.rotate(-90, getThumb().getBounds().centerX(), getThumb().getBounds().centerY()); // 现在绘制SeekBar,包括轨道和滑块 super.onDraw(canvas); // 恢复原始状态 canvas.restore(); } ``` 4. **在...

    Android 实现圆形头像

    创建一个圆形`Drawable`的方法是覆写`Drawable`的`onDraw()`方法,然后在其中绘制一个圆形。以下是一个简单的例子: ```java public class CircleDrawable extends Drawable { private final Bitmap bitmap; ...

    WinForm实现窗体最大化并遮盖任务栏的方法

    这通过调用`Screen.GetBounds(targetForm)`来获取屏幕的边界,从而让窗体完全占据屏幕空间。 `LeaveFullScreen`方法在退出全屏时,恢复之前保存的窗体状态,包括大小、边框样式、置顶状态以及位置。 调用这些方法...

    百度地图自定义覆盖物

    本篇将详细介绍如何在百度地图中实现自定义覆盖物,以及与之相关的Android开发知识。 自定义覆盖物(Custom Overlay)是指在地图上添加由开发者自行设计的图形元素,例如图标、标注、形状等,以满足特定业务需求。...

Global site tag (gtag.js) - Google Analytics