gpt4 book ai didi

android - 在android中获取实际像素

转载 作者:行者123 更新时间:2023-11-29 14:03:26 25 4
gpt4 key购买 nike

我正在像这样覆盖 SurfaceHolder 并将图像放入其中。

public class TestCameraActivity extends Activity implements SurfaceHolder.Callback

我想获取这张图片的xy 位置。如何获得?请帮忙。

这是代码:

public class TestCameraActivity extends Activity implements SurfaceHolder.Callback {

Camera camera;
SurfaceView surfaceView;
SurfaceHolder surfaceHolder;
boolean previewing = false;
LayoutInflater controlInflater = null;
ImageView image;
Button b;
View viewControl;
RelativeLayout rel;

@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.main);

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

getWindow().setFormat(PixelFormat.UNKNOWN);
surfaceView = (SurfaceView)findViewById(R.id.camerapreview);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

controlInflater = LayoutInflater.from(getBaseContext());
viewControl = controlInflater.inflate(R.layout.control, null);

image =(ImageView) viewControl.findViewById(R.id.img);

LayoutParams layoutParamsControl = new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT);
this.addContentView(viewControl, layoutParamsControl);

sensorMgr = (SensorManager) getSystemService(SENSOR_SERVICE); boolean accelSupported = sensorMgr.registerListener(this, SENSOR_ACCELEROMETER, SENSOR_DELAY_UI);

@Override
public void onSensorChanged(int sensor, float[] values) {
float x = values[0];
float y = values[1];
float z = values[2];
System.out.println("x = " + x + ", y = " + y + ",z = " + z);

Rect r = image.getDrawable().getBounds();

int drawLeft = r.left;
int drawTop = r.top;
int drawRight = r.right;
int drawBottom = r.bottom;

r.left = (int) x;
r.right =(int) y;


}

最佳答案

据我了解你的问题,

如果您正在寻找的话,您应该能够在内部获取可绘制对象的 (x, y) 坐标。试试这个:

ImageView img = (ImageView)findViewById(R.id.img);
Rect r = img.getDrawable().getBounds();

int drawLeft = r.left;
int drawTop = r.top;
int drawRight = r.right;
int drawBottom = r.bottom;

drawLeft 是您的 X 值。

drawTop 是您的 Y 值。

编辑:看看这个问题Moving an image using Accelerometer of android还有本教程 Moving Images on the Screen with Android .

关于android - 在android中获取实际像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8381390/

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