CoordinateTransform
public
final
class
CoordinateTransform
extends Object
| java.lang.Object | |
| ↳ | androidx.camera.view.transform.CoordinateTransform |
This class represents the transform from one OutputTransform to another.
This class can be used to map the coordinates of one OutputTransform to another,
given that they are associated with the same ViewPort. OutputTransform can
represent the output of a UseCase or PreviewView. For example, mapping the
coordinates of detected objects from ImageAnalysis output to the drawing location in
PreviewView.
// imageProxy the output of an ImageAnalysis.
OutputTransform source = ImageProxyTransformFactory().getOutputTransform(imageProxy);
OutputTransform target = previewView.getOutputTransform();
// Build the transform from ImageAnalysis to PreviewView
CoordinateTransform coordinateTransform = new CoordinateTransform(source, target);
// Detect face in ImageProxy and transform the coordinates to PreviewView.
// The value of faceBox can be used to highlight the face in PreviewView.
RectF faceBox = detectFaceInImageProxy(imageProxy);
coordinateTransform.mapRect(faceBox);
Summary
Public constructors | |
|---|---|
CoordinateTransform(OutputTransform source, OutputTransform target)
Creates the transform between the |
|
Public methods | |
|---|---|
void
|
mapPoint(PointF point)
Apply this transform to the |
void
|
mapPoints(float[] points)
Apply this transform to the array of 2D points, and write the transformed points back into the array |
void
|
mapRect(RectF rect)
Apply this transform to the rectangle, and write the transformed rectangle back into it. |
void
|
transform(Matrix outMatrix)
Copies the current transform to the specified |
Inherited methods | |
|---|---|
Public constructors
CoordinateTransform
public CoordinateTransform (OutputTransform source, OutputTransform target)
Creates the transform between the source and the target.
The source and the target must be associated with the same ViewPort.
| Parameters | |
|---|---|
source |
OutputTransform: the source |
target |
OutputTransform |
See also:
Public methods
mapPoint
public void mapPoint (PointF point)
Apply this transform to the PointF, and write the transformed points back into
the array
| Parameters | |
|---|---|
point |
PointF: The point to transform.
|
mapPoints
public void mapPoints (float[] points)
Apply this transform to the array of 2D points, and write the transformed points back into the array
| Parameters | |
|---|---|
points |
float: The array [x0, y0, x1, y1, ...] of points to transform. |
See also:
mapRect
public void mapRect (RectF rect)
Apply this transform to the rectangle, and write the transformed rectangle back into it. This is accomplished by transforming the 4 corners of rect, and then setting it to the bounds of those points.
| Parameters | |
|---|---|
rect |
RectF: The rectangle to transform.
|