Flex中Image加载图片出错时显示默认图片的方法主要有以下几种:
方法一:利用 brokenImageSkin 风格显示一个默认的图,只需设置CSS就行了,如下:
<mx:Style>
Image {
brokenImageSkin: Embed("assets/404.jpg");
}
</mx:Style>
方法二:监听Image组件的IOErrorEvent.IO_ERROR事件,代码如下:
private function errorHandler():void
{
image.source = "assets/404.jpg";
}
<mx:Image id="image" source="http://不存在.jpg" ioError="errorHandler()"/>
方法三:继承Image类,覆盖其set source方法,如下:
override public function set source(value:Object):void
{
if(!value || value == ""){
value = "assets/404.jpg";
}
super.source = value;
}
推荐使用第三种方法,因为第一种方法跟第二种方法有个共同的缺点,如下情况:
<mx:Image id="image" source="" ioError="errorHandler()"/>
此时无论是第一种方法还是第二种方法都不会显示默认图片,而第三种方法就可以解决这个问题。
第三种方法具体实现及使用方法如下:
MyImage.as
package
{
import flash.events.IOErrorEvent;
import mx.controls.Image;
public class MyImage extends Image
{
private var defaultImage:String = "assets/404.jpg";
public function MyImage()
{
this.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}
override public function set source(value:Object):void
{
if(!value || value == ""){
value = defaultImage;
}
super.source = value;
}
private function ioErrorHandler(event:IOErrorEvent):void
{
super.source = defaultImage;
}
}
}
Main.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*">
<local:MyImage id="image" source=""/>
</mx:Application>
推荐使用第三种方法。
image url中文问题
var fileurl : String = encodeURI("./Image/input/研发部/22.jpg");
image.source = fileurl;
还要把你的tomcat的编码格式设为utf-8;设置方法为:tomcat安装目录下的conf/server.xml的 <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8" />
JOBSS目录\jboss-4.2.3.GA\server\default\deploy\jboss-web.deployer\server.xml
分享到:
相关推荐
flexBulider页面加载动态图片的显示
本文将深入探讨如何在 Flex 中动态加载 Image 和 Icon,这对于创建响应式和灵活的应用程序至关重要。动态加载资源可以显著提高应用程序的性能,减少启动时间和内存消耗。 在 Flex 中,我们可以使用 `Loader` 类来...
Flex中加载SWF方法,介绍了flex 对 swf 加载和处理
3. 动态加载图片:如果图片的来源是动态的,例如从服务器获取,可以使用`load()`方法来异步加载图片。 ```actionscript var imageLoader:Loader = new Loader(); imageLoader.contentLoaderInfo.addEventListener...
总结,通过上述步骤,我们可以成功地在Flex的`MenuBar`中实现从数据库动态加载图片的功能。这个过程涉及到了Flex的组件渲染机制、数据绑定、HTTP服务调用以及JSON数据解析。这样的功能可以显著提升应用的用户体验,...
本文详细介绍了如何在Flex中实现鼠标悬停时图片放大效果,包括使用Zoom组件进行整体缩放、Image组件实现单个图片缩放以及编写事件处理器的方法。此外,还涉及到了其他一些增强用户体验的功能。希望这些信息能够帮助...
这个"Flex 预加载动画demo"是Flex应用中的一个实例,它展示了如何自定义预加载进度条动画,使得用户在等待应用程序加载时能有一个更友好的交互体验。 预加载是任何富媒体应用程序的关键部分,因为它确保了所有必要...
Flex是Adobe开发的一种开源框架,主要用于构建富互联网应用程序(RIA)。在Flex中,自定义组件是开发者根据项目需求创建的特殊UI元素,可以扩展和定制标准的MX或Spark组件。本示例着重于一个名为“ImageViewer”的...
在本文中,我们将深入探讨“Flex CSS动态加载”这一主题,这是前端开发中一个非常重要的概念,尤其是在构建响应式和高性能的Web应用时。Flex CSS允许我们动态地改变页面布局,根据用户行为或屏幕尺寸调整元素的位置...
对于图片的显示,Flex中的Image组件是关键。Image组件可以加载网络上的图像或者内存中的BitmapData对象,并提供基本的缩放和显示功能。若要实现更复杂的交互,如平滑缩放,可能需要自定义组件,覆盖其...
- **处理安全问题**:跨域加载图片时,可能需要处理安全策略文件。如果服务器返回了正确的跨域策略文件,可以正常加载;否则,可能需要禁用安全检查。 3. **最佳实践**: - 使用URLRequestMethod.GET请求方式,以...
在Flex编程中,我们有时需要在程序执行过程中根据需要加载图标或者图片,而不是在编译时静态地将它们嵌入到应用中。这种动态加载可以节省应用的初始加载时间,也可以实现更灵活的界面设计。 描述中提到的博客链接...
在ItemRenderer中,可以使用`mx.controls.Image`或`spark.components.Image`组件加载图片。你需要监听`data`属性的变化,以便在数据改变时更新图片源。 3. **分配ItemRenderer**: 在DataGrid的`<mx:columns>`或`...
在Flex编程中,TileList控件是一个非常有用的组件,它允许开发者以网格布局显示数据集中的项。在本例“Flex TileList图片展示(相册)”中,我们看到TileList控件被巧妙地用于创建一个类似QQ相册的图片浏览体验。...
动态加载 SVG 图片可以实现大量的 SVG 图形资源直接在 Flex 应用程序中使用。 三、解析 SVG 文件 解析 SVG 文件是动态加载 SVG 图片的第一步。可以遍历 SVG 文件,遍历 SVG 代码,获取 SVG 文件的宽度和高度,并将...
为了提供更好的用户体验,在加载数据时显示加载图标是一个常见的做法。此外,还可以添加进度条等其他形式的UI反馈。 综上所述,Flex中的异步加载Tree组件是一个非常实用的功能,可以帮助开发者在处理大量数据时提高...
"imageLoading"这个文件名可能表示该示例涉及加载图片到应用程序中,然后进行压缩。在Flex中,可以使用Loader类来加载图片资源。一旦图片加载完成,可以将Loader实例的内容转换为BitmapData对象,这样就可以访问像素...
在Flex开发中,`ModuleLoader` 是一个关键组件,它允许开发者动态地加载MX模块(即Flex模块,独立的SWF文件)。`ModuleLoader` 的主要功能是将模块的加载过程与应用程序的其余部分分离,这有助于实现代码的模块化和...
flex加载swf的N种方法.zip
本篇文章将详细讲解如何在Flex中实现实时图片预览和加载图片到内存的技术。 首先,我们要明白Flex中的图片处理主要是通过`mx.controls.Image`组件来完成的。`Image`组件可以显示静态图像,如JPEG、PNG和GIF格式。...