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)
分享到:
相关推荐
`getBounds()` 方法用于获取一个`DisplayObject`相对于指定坐标空间(`targetCoordinateSpace`)的边界矩形。这个方法非常实用,因为它可以帮助我们确定对象在特定参考系中的位置和大小。例如,在给定的代码示例中...
5. **GetBounds**:获取图像的边界矩形。 6. **GetThumbnailImage**:获取图像的缩略图版本。 7. **GetFrameDimensions**:获取一个 GUID 数组,每个 GUID 代表一个帧。 8. **GetFrameCount**:获取帧的数量。 9. **...
可以通过一系列方法来获取窗口的当前状态信息,例如,通过getBounds()方法可以获取窗口的大小和位置,通过getLocationOnScreen()方法可以获取窗口在屏幕上的实际位置,而通过getLocation()和getSize()方法则可以获取...
使用 Leaflet 的 SODA inside_box() 示例一个简单的网络地图,它从传单中获取当前边界框并从 SODA API 中提取数据,在地图上创建带有弹出窗口的标记。该地图在固定位置加载并检索过去 7 天来自纽约市的 311 次投诉以...
本文主要探讨了Google Maps API2与API3中`getBoundsZoomLevel`方法的不同用法,这对于地图开发人员来说是个重要的知识点。 在Google Maps API 2中,`getBoundsZoomLevel`是一个非常实用的功能,它允许开发者根据...
`getBounds()`返回组件的边界信息,`getToolkit()`获取与系统相关的工具包,`setEnabled()`设定组件是否可交互。 以上这些组件和方法构成了Java GUI的基础,开发者可以根据需求组合和定制这些组件,创建出符合用户...
4. 地图状态方法:Map 类提供了多个状态方法,例如 getBounds()、getCenter()、getDistance()、getMapType()、getSize() 等,用于获取地图的当前状态信息。 5. 地图状态修改方法:Map 类提供了多个状态修改方法,...
`Circle2D`支持各种几何操作,如检查点是否在圆内(`contains(Point2D)`), 检查两个圆是否相交(`intersects(Circle2D)`), 计算圆的边界框(`getBounds2D()`), 获取圆心距(`distance2D(Circle2D)`), 等。 ### 第六章:...
Android仿头条、微信大图预览视图的方法详解 大图预览是移动应用程序中的一种常见功能, Android 仿头条、微信大图预览视图是指在 Android 平台上实现大图预览的功能,类似于微信和头条应用程序中的大图预览功能。...
然后,我们可以使用GraphicsPath的GetBounds方法获取字形轮廓的边界,这在需要进行裁剪或缩放操作时非常有用。 为了显示字形轮廓,我们需要创建一个Bitmap对象,然后使用Graphics类在该位图上绘制路径。Graphics类...
例如,要在启动时设置窗口标题为“高校经费测算系统”,可以在ApplicationWorkbenchWindowAdvisor的preWindowOpen()方法中调用IWorkbenchWindowConfigurer的setTitle()方法。 ```java configurer.setTitle("高校...
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[]) { ...
2. `intersects`: 检查该形状与其他形状是否有交集。 3. `getBounds`: 获取形状的边界矩形。 4. `getBounds2D`: 获取更精确的边界矩形,通常用于处理非方形形状。 5. `getPathIterator`: 提供形状的路径迭代器,可以...
font.draw(batch, "你好,世界", x - font.getBounds("你好,世界").width / 2, y - font.getBounds("你好,世界").height / 2, 0, font.getBounds("你好,世界").width, TextAlignment.CENTER); ``` 4. **颜色和...
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中,...
canvas.rotate(-90, getThumb().getBounds().centerX(), getThumb().getBounds().centerY()); // 现在绘制SeekBar,包括轨道和滑块 super.onDraw(canvas); // 恢复原始状态 canvas.restore(); } ``` 4. **在...
创建一个圆形`Drawable`的方法是覆写`Drawable`的`onDraw()`方法,然后在其中绘制一个圆形。以下是一个简单的例子: ```java public class CircleDrawable extends Drawable { private final Bitmap bitmap; ...
本篇将详细介绍如何在百度地图中实现自定义覆盖物,以及与之相关的Android开发知识。 自定义覆盖物(Custom Overlay)是指在地图上添加由开发者自行设计的图形元素,例如图标、标注、形状等,以满足特定业务需求。...
- `getBounds()`方法返回组件的边界矩形,包括位置和大小。 - `setBounds(int x, int y, int width, int height)`和`setBounds(Rectangle r)`用于设置组件的位置和尺寸。然而,如果组件的容器使用了布局管理器,这...