gpt4 book ai didi

android - 如何在surfaceview android上绘制图像

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:01:16 25 4
gpt4 key购买 nike

我想在 surfaceview 上添加图像并使其可点击。我可以使用布局通过 xml 来完成。但我无法从代码动态地做到这一点。我什至不能使用 lockcanvas 在 Canvas 上绘制图像,因为我将我的 SurfaceHolder 类型设置为 SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS。所以我必须做些什么才能在我的应用程序中的 surfaceview 上绘制图像。请指导我?

最佳答案

类似的东西

public class MSurface extends SurfaceView implements SurfaceHolder.Callback {

public MSurface(Context context) {
super(context);
getHolder().addCallback(this);
}

@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Bitmap icon = BitmapFactory.decodeResource(getResources(),R.drawable.icon);
canvas.drawColor(Color.BLACK);
canvas.drawBitmap(icon, 10, 10, new Paint());
}

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
// TODO Auto-generated method stub
}

@Override
public void surfaceCreated(SurfaceHolder holder) {
Canvas canvas = null;
try {
canvas = holder.lockCanvas(null);
synchronized (holder) {
onDraw(canvas);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (canvas != null) {
holder.unlockCanvasAndPost(canvas);
}
}
}

@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub

}
}

关于android - 如何在surfaceview android上绘制图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12912102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com