我觉得用ChangeWatcher也很简单,适用于Embed引入的图片例如:
var cw:ChangeWatcher = ChangeWatcher.watch(img, "width", CompletePicLoad);
//cw.unwatch(); 取消
private function CompletePicLoad(event:Event):void
{
var img:Image=event.target as Image;
trace("CompletePicLoad Width="+img.width);
}
另外还有一种方法,使用于url引用的图片
转自:http://blog.163.com/cityrock@126/blog/static/9823133920100844132572/
在程序启动后,以Img.load方法载入一个远程传递过来的图像的byte[]数组,随后通过网上的一些流行说法说是在图像的载入完成后捕获 creationComplete事件并获取image的contentwidth和contentheight值即可;实际上,多数情况下这种做法是失败的,比如当前Image的width和Height属性均为自适应宽高度,值均为"100%",那么你按照上面说法取到的数值永远都是当前包含 Image的容器的宽高值,这个问题困扰了我很久,很久很久,烧了香拜了佛,求了高人、问了google还是没有解决。最终还是自己解决了,方法超简单如下:
//先给image对象添加捕获载入完成的事件方法,这一步照上面是没有错的,
img.addEventListener(Event.COMPLETE,CompletePicLoad);
。。。
而在事件代码中,只需要重新定义一个未指定比例变化的Image对象,且不需要添加到显示中,去访问该Image的属性即可。
private function CompletePicLoad(event:Event):void
{ //图片载入完成.
var img:Image = event.target as Image;
trace(img.contentWidth);
lblh.text = img.contentHeight.toString();
}
这其中的img.contentWidth和img.contentHeight就是被载入图片的真实尺寸。
分享到:
相关推荐
在Flex开发中,Image组件是用于显示图像的基本控件,其默认行为是等比缩放,以保持图像的原始比例,防止图像失真。当图片的原始宽高比例与Image组件设定的宽高比例不一致时,为了保持图像的原始比例,会自动填充或留...
Image组件可以加载网络上的图像或者内存中的BitmapData对象,并提供基本的缩放和显示功能。若要实现更复杂的交互,如平滑缩放,可能需要自定义组件,覆盖其updateDisplayList方法,在这里进行自定义的缩放算法。 ...
它涵盖了文件I/O、图片加载、图像处理和压缩算法等多个知识点,对于理解如何在Flex环境中处理图片资源非常有帮助。通过这个示例,开发者可以学习如何优化图片质量和大小,提高应用程序的性能和用户体验。
`Image`控件是Flex中的一个基本元素,它允许开发者展示静态或动态的图像。这个控件简单易用,但功能强大,能够处理各种图像格式,如JPEG、PNG、GIF等。在“WinesGamePeople”和“WinesGame”这两个项目文件中,我们...
在Flex开发中,图片裁剪是一项常见的需求,特别是在创建用户界面或者图像编辑应用时。本文将详细介绍如何在Flex 3.5及以上版本中利用遮罩技术实现图片裁剪功能。 遮罩(Masking)是ActionScript 3和Flex中一个强大...
在Flex开发中,图片放大缩小功能是一个常见的交互需求,它能提供用户友好的查看体验,尤其是在展示细节丰富的图像时。Flex是一种基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(RIA)。在这里,...
1. **组件库**:Flex自带的Spark或者MX组件库中,包含了一些基础的图像显示组件,如Image组件,可以用于显示静态图片。为了实现缩放功能,可能需要自定义一个组件,扩展这些基础组件,增加缩放相关的功能。 2. **...
在这个场景中,我们关注的是Flex实现的拖拽控件,这是一种交互式UI元素,允许用户通过鼠标操作移动元素,提供了丰富的用户体验。 拖拽功能在Flex中可以通过使用内置的DragManager类和Event类来实现。DragManager类...
标题中提到的“FLEX实现鼠标滑过图片放大效果”是一种提升用户体验的设计策略,常见于产品展示或图像浏览应用中。当用户将鼠标光标悬停在图片上时,图片会放大,以便用户可以更清楚地查看细节,而当鼠标移开时,图片...
在Flex中,我们可以创建两个Image组件,一个作为主视图,另一个作为放大视图,然后通过监听鼠标事件来更新放大视图的位置和大小。 具体实现步骤如下: 1. 创建两个Image组件,一个显示完整图片,另一个显示放大...
这个经典的Flex实例主要涉及到的是如何使用Flex来实现图片的剪切功能,这在Web应用中常常用于图像编辑或个性化设计场景。以下是对Flex中实现图片剪切的详细解释。 1. **Flex基础知识**: Flex基于ActionScript 3.0...
在Flex中,我们可以使用`mx.controls.Image`组件来显示静态图像。然而,要实现水纹效果,我们需要更底层的图形操作。这就涉及到了Flex的`Sprite`和`Graphics`类。`Sprite`是一个可绘制的显示对象,它提供了绘制图形...
在Flexbox中,可以使用`flex`属性控制图像的大小: ```css .container { display: flex; } img { flex: 1; } ``` 这将使图像占据其容器的所有可用空间,同时保持比例。 在压缩包"Image-size-float-master"中,...
在Flex中,我们可以利用`spark.components.Image`控件来显示图像。当用户选择一个图片文件后,我们可以使用`FileReference`类来读取文件内容,并将其转换为适合在`Image`控件中展示的位图数据。`FileReference`提供...
在MATLAB环境中,"flxtblwriter图像量化器"是一个用于处理图像数据并进行量化处理的...通过深入理解`quantise_image.m`和`write_flex_material_table.m`的代码,用户可以定制自己的图像量化策略,并适应各种实际需求。
通过拖放操作,用户能够选择一个对象(例如`List`控件或Flex中的`Image`控件),并将其拖动至另一个组件(容器)中,最终将该对象添加到目标组件内。 #### 二、关于拖放操作 拖放操作主要包括三个阶段:初始化、...
- **DragProxy**:拖动过程中显示的图像,用于直观地表示被拖动的项。 - **DragSource**:指正在进行拖动操作的数据项。 - **DropTarget**:当拖动的项可以被放下时,所经过的组件即为放下目标。 - **DragEvent**:...
// 缩放到原始大小的两倍 image.scaleY = 2; ``` 至于“旋转”,同样可以通过改变`DisplayObject`的`rotation`属性来实现。例如,要让图片逆时针旋转90度: ```actionscript image.rotation = 90; ``` 为了实现...
- **image目录**:在压缩包中的`image`目录可能是用于存放海报模板、预设图片或者其他与图像相关的资源文件。 7. **用户体验优化**: - **实时预览**:为了提供良好的用户体验,小程序应支持实时预览功能,让用户...
图片尺寸是基于原始设计稿的比例进行裁剪的。 2. **引入flexible.js** flexible.js是淘宝提出的解决方案的核心部分,它的作用是动态调整HTML的`<meta name="viewport">`标签以及页面的根元素`<html>`的`font-size`...