gpt4 book ai didi

android - 在 Image View android 上绘图

转载 作者:太空狗 更新时间:2023-10-29 12:49:49 24 4
gpt4 key购买 nike

每次从另一个 Activity 接收到像素值(要绘制的圆的中心)时,任何人都可以帮助我如何在 ImageView 上绘制一个特定半径的圆>?

最佳答案

扩展ImageView并覆盖 onDraw(Canvas c)方法 - 添加 c.drawCirle(x,y,radius,Paint)

或者对于绘制圆,您也可以使用纯 Canvas。

我试过这种方法,还是不行

public class MyActivity extends Activity {
private MyImageView myImageView;
float x, y;
float [] loc;
float radius = 50;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_location);
myImageView = (MyImageView) findViewById(R.id.mapimageView);
myImageView.setImageResource(R.drawable.mymap);

//Receiving location information(x/y pixels array) from myLocation Activity
Intent i = getIntent();
loc = i.getFloatArrayExtra("Location");

}
public class MyImageView extends ImageView
{

public MyImageView(Context context) {
super(context);
}
// Constructor for inflating via XML
public MyImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}


@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint p = new Paint();
x= loc[0];
y=loc[1];
p.setColor(Color.RED);
p.setStrokeWidth(2);
canvas.drawCircle(x, y, radius, p);
}
}

并在 xml 中更改 <ImageViewyour.package.name.MyImageView

//EDIT 我只是凭内存写的,所以可能会有错别字

关于android - 在 Image View android 上绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13433960/

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