`
zhoudan241
  • 浏览: 50525 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android java.lang.IllegalAraumentException: x+width must be <=bitmap.width异常解决方

阅读更多
 new Thread(new Runnable(){
           int xpos=0;//定义一个移动的常量
			public void run() {
				// TODO Auto-generated method stub
				while(true){
					//得到一个消息对象
					Message msg=handler.obtainMessage();
				    if(xpos>=srcbmp.getWidth()){
				    	xpos=0;
				    }//这里判断移动的长度是否大于图片宽度
                  msg.arg1=xpos;
                  xpos+=50; 
					try{
						Thread.sleep(100);			
					}catch(InterruptedException e){
						e.printStackTrace();
					}
					handler.sendMessage(msg);
			}
			}
        }).start();

 最近项目中要实现一个云彩移动的动画的效果。出现java.lang.IllegalAraumentException: x+width must be <=bitmap.width异常     

我是先创建  要达到云彩移动的动画。我写一个线程如上所示  然后在Handler 的sendHandler()方法里

创建方法如下

srcbmp=BitmapFactory.decodeResource(getResources(),R.drawable.yun);
        mx=new Matrix();
        mx.postScale((float)1.0,(float)1.0);
Bitmap resizebmp = Bitmap.createBitmap(srcbmp, msg.arg1, 0, 320, 205,
       mx, true); 

  创建bitmap

 云彩  移动的重点在于线程里的xpos参数  xops+=1;每次都在上次一次的x坐标軕上加1.(这个数由你定。看你需要移动的快慢) 。    现在来说异常解决的办法。 其实发生这个异常是由于

if(xpos>=srcbmp.getWidth()) 

 这个里面的判断

  应该让改成

if(xpos+320>=srcbmp.getWidth()) 

 

  这样就不会有这个错误了。

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

相关推荐

    PhotoView 图片浏览缩放控件

    android:src="@drawable/bitmap1" /&gt; 3.java代码 PhotoView photoView = (PhotoView) findViewById(R.id.img); photoView.enable(); Info info = photoView.getInfo(); Info info = PhotoView.getImageViewInfo...

    C# 显示两张图片相同部分 图像比较

    int width = imgFrst.Width &lt; imgScnd.Width ? imgFrst.Width : imgScnd.Width; Bitmap fussion=new Bitmap(width,height); for (int i = 0; i &lt; fussion.Height; i++) { for (int j = 0; j &lt; fussion....

    开源项目PhotoView的使用demo

    android:layout_width="match_parent" android:layout_height="match_parent" /&gt; ``` 然后在Activity或Fragment中加载图片: ```java PhotoView photoView = findViewById(R.id.photo_view); Bitmap bitmap = ...

    android获取图片尺寸的两种方式及bitmap的缩放操作

    我就废话不多说了,大家还是直接看代码吧~ //Uri.parse(file://+result.getImage().getCompressPath())) String path=uri.... Bitmap bitmap= BitmapFactory.decodeFile&#40;path&#41;; int height= bitmap.get

    图片缓存机制代码

    import java.lang.ref.SoftReference; import java.util.HashMap; import java.util.Map; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android....

    标示路面黄线

    if (c.R &gt;= 240 && c.R &lt;= 255 && c.G &gt;= 240 && c.G &lt;= 255 && c.B &gt;= 240 && c.B &lt;= 255) { p.SetPixel(i, j, Color.Green); count[i, j] = 1; } if (c.R &gt;= 200 && c.R &lt;= 250 && c.G &gt;= 150 && c.G &lt;= 250...

    Android 实现把bitmap图片的某一部分的颜色改成其他颜色

    if ((90&lt;r&&r&lt;=200)&&(90&lt;g&&g&lt;=200)&&(90&lt;b&&b&lt;=200)){//大概得把非道路(路旁变透明) a=0; Log.i("imagecolor","============"+color); }else if (r==255&&g==255&&b==33){//把黄色的箭头白色 因为黄色箭头...

    android RantingBar的自定义设置与使用

    &lt;size android:width="24dp" android:height="24dp"/&gt; &lt;solid android:color="#ccc"/&gt; &lt;/shape&gt; &lt;/item&gt; &lt;item android:id="@android:id/secondaryProgress"&gt; &lt;clip&gt; &lt;bitmap android:src="@drawable/custom_...

    数字图像处理算法例子,数字图像处理算法例子

    gradY = grayValues[((Math.Abs(i - 1)) % curBitmap.Height) * curBitmap.Width + (Math.Abs(j - 1) % curBitmap.Width)] + grayValues[((Math.Abs(i - 1)) % curBitmap.Height) * curBitmap.Width + j] + gray...

    Android 壁纸设置代码 详解

    在Android系统中,壁纸设置是用户个性化手机界面的重要方式之一。开发者可以通过编程接口来实现自定义壁纸的功能,为用户提供更多的个性化选择。这篇博客"Android 壁纸设置代码详解"可能详细介绍了如何在Android应用...

    处理bitmap内存溢出问题

    当应用程序尝试加载或操作一张超出虚拟机内存预算的`Bitmap`时,系统会抛出`java.lang.OutOfMemoryError: bitmap size exceeds VM budget`异常,导致应用崩溃。为了解决这个问题,开发者需要采取一些策略来优化图片...

    android java和webview交互demo

    这篇资源文章“android java和webview交互demo”详细介绍了如何在Java驱动的Android应用中使用WebView,并通过JavaScript接口进行数据交换。 **一、WebView基本使用** 1. **添加依赖** 在AndroidManifest.xml中,...

    Android的图片添加

    &lt;androidx.appcompat.widget.AppCompatImageView android:layout_width="wrap_content" android:layout_height="wrap_content" app:srcCompat="@drawable/ic_example"/&gt; ``` 这里的`ic_example`是材料设计图标...

    Android Bitmap.getPixels的正确理解演示源码

    Android Bitmap.getPixels的正确理解演示源码,参考文章《Android Bitmap入门:getPixels的正确理解》

    安卓zxing 代码demo

    &lt;uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /&gt; &lt;uses-permission android:name="android.permission.INTERNET" /&gt; 4.在代码中执行打开扫描二维码界面操作  Intent intent = new ...

    通过将资源库图片转化为Bitmap,使用Zxing库完成多二维码识别

    在Android开发中,有时我们需要对图像中的二维码进行识别,以便获取隐藏的信息。本文将详细介绍如何在Android环境中,利用Zxing库实现多二维码识别,以及如何将资源库中的图片转化为Bitmap来辅助这一过程。 首先,...

    bitmap实例

    x &lt; width - 1; x++) { Color current = bitmap.GetPixel(x, y); Color left = bitmap.GetPixel(x - 1, y); Color right = bitmap.GetPixel(x + 1, y); Color up = bitmap.GetPixel(x, y - 1); Color down = ...

    Android Webp格式图片2.x支持demo

    Android 4.0(API级别14)及以上版本原生支持WebP动画,但在2.x版本中,你需要依赖第三方库。例如,使用`android-gif-drawable`库可以处理WebP动画: ```groovy dependencies { implementation 'pl.droidsonroids....

    android二维码开发,zxing开发包,通讯录生成扫描名片

    在Android平台上进行二维码开发,ZXing(Zebra Crossing)是一个非常重要的开源库,它提供了全面的条码读取和生成功能。ZXing是Google开发的一个跨平台的二维码和条形码处理库,不仅支持Android,还支持Java、iOS等...

    Android实现图片自动轮换

    import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; ...

Global site tag (gtag.js) - Google Analytics