ANROID开发,关于CANVAS的DrawBitmap函数的坐标错误问题
如附图,我现在有一张红圆圈的32*32图片,想通过代码横向复制4个,由于红圆圈不是跟边框接触的,所以理应是横向四个有些间距的128*32的图片,在模拟器里面显示也是正确的...
如附图,我现在有一张红圆圈的32*32图片,想通过代码横向复制4个,由于红圆圈不是跟边框接触的,所以理应是横向四个有些间距的128*32的图片,在模拟器里面显示也是正确的,但是在真机下面却是4个圆圈都是挨着的,没有任何间距,我改了一下canvas.drawBitmap(lamp_inactive_map, X, 0, paint); 这个函数的X坐标,一点变化都没有,但模拟器里面确实是正常对应改变的,不知道是什么原因,附上相关的代码,是标准的图片叠加处理代码Bitmap circle_map = BitmapFactory.decodeResource(context.getResources(), R.drawable.circle).copy(Bitmap.Config.ARGB_8888, true); Bitmap background_map = BitmapFactory.decodeResource(context.getResources(), R.drawable.white_background).copy(Bitmap.Config.ARGB_8888, true); //初始的组件图片背影图片,128*32 Bitmap newBitmap = null; newBitmap = Bitmap.createBitmap(background_map); Canvas canvas = new Canvas(newBitmap); Paint paint = new Paint(); canvas.drawBitmap(circle_map, 32*3, 0, paint); canvas.drawBitmap(circle_map, 32*2, 0, paint); canvas.drawBitmap(circle_map, 32*1, 0, paint); canvas.drawBitmap(circle_map, 32*0, 0, paint); canvas.save(Canvas.ALL_SAVE_FLAG); canvas.restore(); //存储合成的图片
另外,最左边第一个位置是对的,其它三个就是挨着左边的 展开
另外,最左边第一个位置是对的,其它三个就是挨着左边的 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询