我想为我通过画布绘制的位图创建一个“方格纸”外观,并试图找出最好的方法来做到这一点。
我无法将包含方格纸背景的源位图传递给 Canvas 构造函数,因为我正在通过 .lockCanvas() 调用在 SurfaceView 中获取 Canvas。
我尝试过的一些解决方案:
我已经尝试在我的 SurfaceView 的 Thread.run() 中实现此解决方案,但我认为问题是当 BitmapDrawable 转换为位图时......它会失去平铺属性。
画布 = mSurfaceHolder.lockCanvas(null); BitmapDrawable TileMe = new BitmapDrawable(BitmapFactory.decodeResource(getResources(), R.drawable.editor_graph)); TileMe.setTileModeX(Shader.TileMode.REPEAT); TileMe.setTileModeY(Shader.TileMode.REPEAT);
位图 b = TileMe.getBitmap(); canvas.drawBitmap(b, 0, 0, null);
如果我使用将目标 RectF 作为参数的 Canvas.drawBitmap 方法,看起来位图将被平铺以填充 RectF...但是如何可靠地声明填充整个视图区域的 RectF?
- 将活动背景设置为所需的方格纸外观也不起作用,因为位图/画布布局是不透明的,并且会阻止被看到。
任何想法如何实现这一目标?