【发布时间】:2014-03-06 16:13:30
【问题描述】:
朋友们,我是 android 新手,正在处理一个我想要一些图像处理的项目。当我尝试使用
int pixels=myImageBitmap.getPixel(x,y);
我得到的只是 x 中的一些负值 此外,我正在尝试使用
为该像素设置一些值result.setPixel(x,y,pixels);
我的应用程序突然停止,之后,我的日志猫看起来像
03-06 19:52:01.731: W/dalvikvm(29185): threadid=1: thread exiting with uncaught exception (group=0x41036378)
03-06 19:52:01.731: E/AndroidRuntime(29185): FATAL EXCEPTION: main
03-06 19:52:01.731: E/AndroidRuntime(29185): java.lang.IllegalStateException
03-06 19:52:01.731: E/AndroidRuntime(29185): at android.graphics.Bitmap.setPixel(Bitmap.java:1045)
03-06 19:52:01.731: E/AndroidRuntime(29185): at com.example.testpro.EncodeActivity$3.onClick(EncodeActivity.java:90)
03-06 19:52:01.731: E/AndroidRuntime(29185): at android.view.View.performClick(View.java:4147)
03-06 19:52:01.731: E/AndroidRuntime(29185): at android.view.View$PerformClick.run(View.java:17161)
03-06 19:52:01.731: E/AndroidRuntime(29185): at android.os.Handler.handleCallback(Handler.java:615)
03-06 19:52:01.731: E/AndroidRuntime(29185): at android.os.Handler.dispatchMessage(Handler.java:92)
03-06 19:52:01.731: E/AndroidRuntime(29185): at android.os.Looper.loop(Looper.java:213)
03-06 19:52:01.731: E/AndroidRuntime(29185): at android.app.ActivityThread.main(ActivityThread.java:4787)
03-06 19:52:01.731: E/AndroidRuntime(29185): at java.lang.reflect.Method.invokeNative(Native Method)
03-06 19:52:01.731: E/AndroidRuntime(29185): at java.lang.reflect.Method.invoke(Method.java:511)
03-06 19:52:01.731: E/AndroidRuntime(29185): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
03-06 19:52:01.731: E/AndroidRuntime(29185): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
03-06 19:52:01.731: E/AndroidRuntime(29185): at dalvik.system.NativeStart.main(Native Method)
请有人帮我摆脱这个错误。请提前致谢
【问题讨论】:
-
你应该发布一些代码来检查......
-
很可能,您的 x 和 y 超出范围。
-
我认为,在这种情况下,异常应该是 IllegalArgumentException 而不是 IllegalStateException。
标签: android image android-image