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
分享到:
相关推荐
android:src="@drawable/bitmap1" /> 3.java代码 PhotoView photoView = (PhotoView) findViewById(R.id.img); photoView.enable(); Info info = photoView.getInfo(); Info info = PhotoView.getImageViewInfo...
int width = imgFrst.Width < imgScnd.Width ? imgFrst.Width : imgScnd.Width; Bitmap fussion=new Bitmap(width,height); for (int i = 0; i < fussion.Height; i++) { for (int j = 0; j < fussion....
android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 然后在Activity或Fragment中加载图片: ```java PhotoView photoView = findViewById(R.id.photo_view); Bitmap bitmap = ...
我就废话不多说了,大家还是直接看代码吧~ //Uri.parse(file://+result.getImage().getCompressPath())) String path=uri.... Bitmap bitmap= BitmapFactory.decodeFile(path); 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 >= 240 && c.R <= 255 && c.G >= 240 && c.G <= 255 && c.B >= 240 && c.B <= 255) { p.SetPixel(i, j, Color.Green); count[i, j] = 1; } if (c.R >= 200 && c.R <= 250 && c.G >= 150 && c.G <= 250...
if ((90<r&&r<=200)&&(90<g&&g<=200)&&(90<b&&b<=200)){//大概得把非道路(路旁变透明) a=0; Log.i("imagecolor","============"+color); }else if (r==255&&g==255&&b==33){//把黄色的箭头白色 因为黄色箭头...
<size android:width="24dp" android:height="24dp"/> <solid android:color="#ccc"/> </shape> </item> <item android:id="@android:id/secondaryProgress"> <clip> <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应用...
当应用程序尝试加载或操作一张超出虚拟机内存预算的`Bitmap`时,系统会抛出`java.lang.OutOfMemoryError: bitmap size exceeds VM budget`异常,导致应用崩溃。为了解决这个问题,开发者需要采取一些策略来优化图片...
这篇资源文章“android java和webview交互demo”详细介绍了如何在Java驱动的Android应用中使用WebView,并通过JavaScript接口进行数据交换。 **一、WebView基本使用** 1. **添加依赖** 在AndroidManifest.xml中,...
<androidx.appcompat.widget.AppCompatImageView android:layout_width="wrap_content" android:layout_height="wrap_content" app:srcCompat="@drawable/ic_example"/> ``` 这里的`ic_example`是材料设计图标...
Android Bitmap.getPixels的正确理解演示源码,参考文章《Android Bitmap入门:getPixels的正确理解》
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" /> 4.在代码中执行打开扫描二维码界面操作 Intent intent = new ...
在Android开发中,有时我们需要对图像中的二维码进行识别,以便获取隐藏的信息。本文将详细介绍如何在Android环境中,利用Zxing库实现多二维码识别,以及如何将资源库中的图片转化为Bitmap来辅助这一过程。 首先,...
x < 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 4.0(API级别14)及以上版本原生支持WebP动画,但在2.x版本中,你需要依赖第三方库。例如,使用`android-gif-drawable`库可以处理WebP动画: ```groovy dependencies { implementation 'pl.droidsonroids....
在Android平台上进行二维码开发,ZXing(Zebra Crossing)是一个非常重要的开源库,它提供了全面的条码读取和生成功能。ZXing是Google开发的一个跨平台的二维码和条形码处理库,不仅支持Android,还支持Java、iOS等...
在Android开发中,图片加载和展示是至关重要的一个环节,特别是在设计用户界面时。SVG(Scalable Vector Graphics)是一种矢量图格式,它能够提供高质量、无损缩放的图像,非常适合用在多种分辨率的Android设备上。...