`
schoolar
  • 浏览: 5331 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
最近访客 更多访客>>
社区版块
存档分类
最新评论

ArgumentError: Error #2015: Invalid BitmapData.

    博客分类:
  • flex
阅读更多

这是ActionScript3里面的一所抛出来的错误,大家见过此错误,请大吓们帮个忙。谢谢!

ArgumentError: Error #2015: Invalid BitmapData.
	at flash.display::BitmapData/get width()
	at worklistdetails.scanneddocs.view.component::ScannedDocsViewer/zoomImage()[D:\workspace3.4\VW3\flex_src\worklistdetails\scanneddocs\view\component\ScannedDocsViewer.mxml:344]
	at worklistdetails.scanneddocs.view.component::ScannedDocsViewer/doZoom()[D:\workspace3.4\VW3\flex_src\worklistdetails\scanneddocs\view\component\ScannedDocsViewer.mxml:337]
	at worklistdetails.scanneddocs.view.component::ScannedDocsViewer/handleWheel()[D:\workspace3.4\VW3\flex_src\worklistdetails\scanneddocs\view\component\ScannedDocsViewer.mxml:552]
	at Function/http://adobe.com/AS3/2006/builtin::apply()
	at flash.external::ExternalInterface$/_callIn()
	at Function/<anonymous>()
 


以上所抛出的错误是data.width或是data.height为空

所以要对此data对象进行处理。

 

下面的这个方法是获取位图数据的:

 private function zoomImage():void
			{
				if(loadedImage == null) return;
	 		    var data:BitmapData = Bitmap(origImage.content).bitmapData; 
                            /*下面这句话是对data对象进行判断*/
                            if (GCUtils.isBitMapDisposed((data))) return;	
	 		     
		 		    if(loadedImage.angle == 0 || loadedImage.angle == 2)
		 		    {
						currentImage.width  = data.width * loadedImage.origScaleX * loadedImage.zoomScaleXY;
						currentImage.height = data.height * loadedImage.origScaleY * loadedImage.zoomScaleXY;
		 		    }
		 		    else
		 		    {
		 		    	currentImage.width  = data.height * loadedImage.origScaleX * loadedImage.zoomScaleXY;
						currentImage.height = data.width * loadedImage.origScaleY * loadedImage.zoomScaleXY;
		 		    }	 		  
			  	if ( !currentImage.visible )
					currentImage.visible = true;
				setSizeLabel();		
			}

 此是GCUtils类,只要是对获取data对象进行预处理:

package commons.gc
{
  import flash.display.BitmapData;
  
  public class GCUtils
  {
    /*
    * Checks if bitmap is disposed 
    */
    public static function isBitMapDisposed(data:BitmapData):Boolean
    {    
      try
      {
         data.width;        
      }
      catch(error:Error)
      {
        return true;
      }
      return false;
    }
  }
}

 此篇文章只代表我的见解, 解决了这个异常

  • 大小: 18 KB
分享到:
评论

相关推荐

    Boost.Python.ArgumentError: Python argument types in错误解决及Boost安装配置-附件资源

    Boost.Python.ArgumentError: Python argument types in错误解决及Boost安装配置-附件资源

    Reflector 7.3.0.18.rar

    Reflector是一款强大的软件工具,主要用于iOS、Android等设备的屏幕镜像和无线投屏。它允许用户在电脑上实时查看和控制移动设备的屏幕,广泛应用于教学、演示、开发和测试场景。Reflector 7.3.0.18是该软件的一个...

    ArgumentError.md

    1. ArgumentError的定义与常见场景:ArgumentError是一种程序异常,通常出现在函数或方法被调用时,传入了不适当的参数值。例如,当期望数字类型的数据被替换为字符串或列表等非预期类型时,函数或方法就可能因为...

    ip_as_int:IP地址-整数转换,对作为整数存储的ip地址属性的activemodel和activerecord支持

    IpAsInt IP地址-整数属性的ip属性的整数转换和activerecord支持。...# =&gt; ArgumentError: Invalid IP: need 4 parts IpAsInt . ip2int ( '192.168.0.s' ) # =&gt; ArgumentError: Invalid IP: illegal format IpAsI

    掌握Ruby的异常处理:优雅应对错误的艺术

    大部分常见的异常都是 `StandardError` 类的子类。例如: - `ArgumentError`:当函数参数不正确时抛出。 - `IOError`:当输入/输出操作失败时抛出。 - `TypeError`:当类型转换失败时抛出。 - `ZeroDivisionError`:...

    smart_engine:通用SmartCore功能

    SmartCore :: Engine· ... SmartCore::ArgumentError (继承自::ArgumentError ); SmartCore::FrozenError (继承自::FrozenError ); SmartCore::NameError (继承自::NameError ); SmartCore

    关于FLASH与后台通信问题

    } catch (e:ArgumentError) { trace(e); } client.addEventListener(Event.CONNECT, sendData); client.addEventListener(ProgressEvent.SOCKET_DATA, receiveData); } ``` 这里我们为连接成功和接收到数据这...

    Ruby:ruby错误处理教程

    - ArgumentError:当方法调用时参数错误引发。 - IOError:当文件操作失败时引发。 引发与捕获异常 在Ruby中,可以使用raise关键字手动引发异常,也可以使用begin, rescue, ensure结构来捕获和处理异常。 引发异常的...

    ArgumentError(解决方案).md

    例如,当一个期望接收整数参数的函数收到了字符串类型的参数时,就会引发类型错误异常(Type Error Exception)。在Python编程语言中,这通常表现为引发一个`TypeError`。但有时,我们需要对错误的参数类型进行更...

    撬动救援:每当出现问题时就启动撬动会话

    撬救 Ruby的超快速调试。 (请参阅 ) 介绍 pry-rescue是Ruby的“未处理异常中断”的实现。...ArgumentError : wrong number of arguments ( 2 for 1 ) from /home/conrad / 0 / ruby / pry - rescue / example

    Ruby语言教程对Ruby语法的总结展示Ruby语法的基本概念和用法.docx

    raise ArgumentError, "Argument error occurred" rescue ArgumentError =&gt; e puts "Caught an argument error: #{e.message}" end ``` #### 七、文件操作 **基本操作:** - 使用 `File` 类来进行文件的读写...

    采集

    采集类型检查集例type =... add ( :not_a_string )# =&gt; ArgumentError (:not_a_string must be a String)通用风格type = Stringcls = Collection :: Set [ type ]cls# =&gt; "Collection::Set::String"collection = cls .

    argumentError(解决方案).md

    缺失任何一个参数都会导致`argumentError`或`TypeError`异常。为了防止此类错误,应在代码中对参数进行检查,确保在调用函数之前所有参数都已被正确定义和赋值。 其次,参数类型错误也是常见的问题之一。在`...

    ow:人类的函数参数验证

    人类的函数参数验证 强调 富有表现力的可链接API 大量内置验证 支持自定义验证 Node.js中的自动标签推断 用TypeScript编写 安装 $ npm install ow 用法 如果使用CommonJS,则需要以const ...//=&gt; ArgumentError: Expec

    ruby语言介绍 ruby语言介绍

    rescue ArgumentError puts "Error taking square root" rescue ZeroDivisionError puts "Attempted division by zero" else puts "Other Error" ensure # 这部分代码在最后一定会执行 end ``` 异常处理...

    AS3_显示对象结构图.pdf

    * ArgumentError:是一个参数错误类,用于捕获参数相关的错误。 * DefinitionError:是一个定义错误类,用于捕获定义相关的错误。 * EvalError:是一个 eval 错误类,用于捕获 eval 相关的错误。 VI. 结论 AS3 ...

Global site tag (gtag.js) - Google Analytics