Canvasを介して描画しているビットマップに「グラフ用紙」の外観を作成し、これを行うための最良の方法を見つけようとしています。
.lockCanvas()呼び出しを介してSurfaceViewでCanvasを取得しているため、グラフ用紙の背景を含むソースビットマップを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を確実に宣言するにはどうすればよいですか?
- ビットマップ/キャンバスのレイアウトが不透明で表示されないようにするため、アクティビティの背景を目的のグラフ用紙の外観に設定することもできません。
これを達成する方法はありますか?