这是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安装配置-附件资源
Reflector是一款强大的软件工具,主要用于iOS、Android等设备的屏幕镜像和无线投屏。它允许用户在电脑上实时查看和控制移动设备的屏幕,广泛应用于教学、演示、开发和测试场景。Reflector 7.3.0.18是该软件的一个...
IpAsInt IP地址-整数属性的ip属性的整数转换和activerecord支持。...# => ArgumentError: Invalid IP: need 4 parts IpAsInt . ip2int ( '192.168.0.s' ) # => ArgumentError: Invalid IP: illegal format IpAsI
大部分常见的异常都是 `StandardError` 类的子类。例如: - `ArgumentError`:当函数参数不正确时抛出。 - `IOError`:当输入/输出操作失败时抛出。 - `TypeError`:当类型转换失败时抛出。 - `ZeroDivisionError`:...
SmartCore :: Engine· ... SmartCore::ArgumentError (继承自::ArgumentError ); SmartCore::FrozenError (继承自::FrozenError ); SmartCore::NameError (继承自::NameError ); SmartCore
} catch (e:ArgumentError) { trace(e); } client.addEventListener(Event.CONNECT, sendData); client.addEventListener(ProgressEvent.SOCKET_DATA, receiveData); } ``` 这里我们为连接成功和接收到数据这...
撬救 Ruby的超快速调试。 (请参阅 ) 介绍 pry-rescue是Ruby的“未处理异常中断”的实现。...ArgumentError : wrong number of arguments ( 2 for 1 ) from /home/conrad / 0 / ruby / pry - rescue / example
raise ArgumentError, "Argument error occurred" rescue ArgumentError => e puts "Caught an argument error: #{e.message}" end ``` #### 七、文件操作 **基本操作:** - 使用 `File` 类来进行文件的读写...
采集类型检查集例type =... add ( :not_a_string )# => ArgumentError (:not_a_string must be a String)通用风格type = Stringcls = Collection :: Set [ type ]cls# => "Collection::Set::String"collection = cls .
人类的函数参数验证 强调 富有表现力的可链接API 大量内置验证 支持自定义验证 Node.js中的自动标签推断 用TypeScript编写 安装 $ npm install ow 用法 如果使用CommonJS,则需要以const ...//=> ArgumentError: Expec
rescue ArgumentError puts "Error taking square root" rescue ZeroDivisionError puts "Attempted division by zero" else puts "Other Error" ensure # 这部分代码在最后一定会执行 end ``` 异常处理...
* ArgumentError:是一个参数错误类,用于捕获参数相关的错误。 * DefinitionError:是一个定义错误类,用于捕获定义相关的错误。 * EvalError:是一个 eval 错误类,用于捕获 eval 相关的错误。 VI. 结论 AS3 ...
福格霍恩 在您的Ruby中添加一点Foghorn来克亨鸡: pry ( main ) > Boy . I . say "boy what's wrong with you" ...ArgumentError: You' re way off , I say you ' re way off this time son! wrong number of argum
lambda_test.call(1) # 抛出 ArgumentError: wrong number of arguments (given 1, expected 2) ``` 相比之下,`lambda` 在参数数量不匹配时会抛出 `ArgumentError` 错误。这意味着 `lambda` 更加严格,要求传入的...
raise ArgumentError, message: "Invalid argument" ``` 这将抛出一个`ArgumentError`,并附带自定义的错误消息,便于调试。 总之,Elixir通过`try/rescue`、`catch/throw`、`catch/exit`以及模式匹配等机制,提供...
第一个错误是`ArgumentError: argument --batch_size: conflicting option string: --batch_size`。这个错误通常意味着命令行参数解析时出现了冲突。在启动程序时,确保没有重复指定`--batch_size`选项,或者检查你...
} catch (error:ArgumentError) { ExternalInterface.call("sendToJavaScriptXiaXian_out"); } } ``` 通过以上步骤,我们不仅可以实现消息通讯的功能,还可以有效地管理账号的登录状态,确保了系统的安全性和...
expect { Eyeglasses.new(lens_material: 'invalid') }.to raise_error(ArgumentError) end end end ``` 在这个例子中,`Eyeglasses`可能是处理眼镜规格的类,而测试确保了框架尺寸的正确解析和镜片材料的有效...