我正在尝试自定义一些代码以捕获我使用的签名。我是新手,我无法弄明白。 下面的代码完成了这项工作,但画布/位图位于左上角。我希望它位于页面上部中心的某处。我试图搞乱drawBitmap parms“canvas.drawBitmap(mBitmap,0,0,null)”,但它实际上在手写笔和平板电脑上绘制的实际路径之间创建了一个偏移量。
Canvas canvas = null;
while (_run) {
if (isDrawing == true) {
try {
canvas = mSurfaceHolder.lockCanvas(null);
if (mBitmap == null) {
mBitmap = Bitmap.createBitmap(300, 200, Bitmap.Config.ARGB_8888);
}
final Canvas c = new Canvas(mBitmap);
c.drawColor(0, PorterDuff.Mode.CLEAR);
canvas.drawColor(0, PorterDuff.Mode.CLEAR);
commandManager.executeAll(c, previewDoneHandler);
previewPath.draw(c);
// Rect targetRect = new Rect(0, 0, 300, 200);
// canvas.drawBitmap(mBitmap, null, targetRect, null);
canvas.drawBitmap(mBitmap, 0, 0, null);
} finally {
mSurfaceHolder.unlockCanvasAndPost(canvas);
是否可以将位图/画布移动到左上角以外的位置?谢谢你的帮助。
答案 0 :(得分:1)
我解决它的方法是将layout_marginLeft和layout_marginTop添加到xml布局中的自定义视图中。