SpenSurfaceViewを使うとSpenpenがいないので、ブラシの選択方法が少し異なります。
.java
SpenPenManager penManager = new SpenPenManager(mContext);
List<SpenPenInfo> penList = penManager.getPenInfoList();
SpenSettingPenInfo penInfo = new SpenSettingPenInfo();
for (SpenPenInfo info : penList) {
if (info.name.equalsIgnoreCase("Brush")) {
penInfo.name = info.className;
break;
}
}
penInfo.color = Color.BLUE;
penInfo.size = 10;
mSpenSurfaceView.setPenSettingInfo(penInfo);
色と、サイズも一緒に変更ができる。
penInfoの中にある変数をいじると設定ができそうだけど、リファレンスの中にはこの項目が存在しなかった。
続いて、画像として保存をする時に描画領域だけでなく背景のキャンバスも一緒に取得ができてしまうので、
背景のキャンバスを透過させる処理を考える。
.java
mSpenPageDoc = mSpenNoteDoc.appendPage();
mSpenPageDoc.setBackgroundColor(Color.TRANSPARENT);
みたいな形でTRANSPARENTを指定するが黒い背景になってしまう。
ここでsurfaceViewを使っているので、それに合うようにTransparentの時に透過をさせる処理を追加する
.java
mSpenSurfaceView = new SpenSurfaceView(mContext);
mSpenSurfaceView.setZOrderOnTop(true); // necessary
SurfaceHolder sfhTrackHolder = mSpenSurfaceView.getHolder();
sfhTrackHolder.setFormat(PixelFormat.TRANSPARENT);
これで書いたデータのみを透過させる事ができた。
このデータをbitmapとして、出力する方法が
.java
Bitmap imgBitmap = mSpenSurfaceView.captureCurrentView(true);
3回で、とりあえず、SDK周りの使用は基本ができたかなと。