android.util.Size.getWidth()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(10.6k)|赞(0)|评价(0)|浏览(120)

本文整理了Java中android.util.Size.getWidth()方法的一些代码示例,展示了Size.getWidth()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Size.getWidth()方法的具体详情如下:
包路径:android.util.Size
类名称:Size
方法名:getWidth

Size.getWidth介绍

暂无

代码示例

代码示例来源:origin: florent37/CameraFragment

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public Size(android.util.Size size) {
  this.width = size.getWidth();
  this.height = size.getHeight();
}

代码示例来源:origin: googlesamples/android-Camera2Basic

@Override
public int compare(Size lhs, Size rhs) {
  // We cast here to ensure the multiplications won't overflow
  return Long.signum((long) lhs.getWidth() * lhs.getHeight() -
      (long) rhs.getWidth() * rhs.getHeight());
}

代码示例来源:origin: square/picasso

@Override
 public void onHeaderDecoded(@NonNull ImageDecoder imageDecoder,
   @NonNull ImageDecoder.ImageInfo imageInfo, @NonNull ImageDecoder.Source source) {
  if (request.hasSize()) {
   Size size = imageInfo.getSize();
   if (shouldResize(request.onlyScaleDown, size.getWidth(), size.getHeight(),
     request.targetWidth, request.targetHeight)) {
    imageDecoder.setTargetSize(request.targetWidth, request.targetHeight);
   }
  }
 }
});

代码示例来源:origin: googlesamples/android-Camera2Basic

Matrix matrix = new Matrix();
RectF viewRect = new RectF(0, 0, viewWidth, viewHeight);
RectF bufferRect = new RectF(0, 0, mPreviewSize.getHeight(), mPreviewSize.getWidth());
float centerX = viewRect.centerX();
float centerY = viewRect.centerY();
  float scale = Math.max(
      (float) viewHeight / mPreviewSize.getHeight(),
      (float) viewWidth / mPreviewSize.getWidth());
  matrix.postScale(scale, scale, centerX, centerY);
  matrix.postRotate(90 * (rotation - 2), centerX, centerY);

代码示例来源:origin: googlesamples/android-Camera2Basic

int w = aspectRatio.getWidth();
int h = aspectRatio.getHeight();
for (Size option : choices) {
  if (option.getWidth() <= maxWidth && option.getHeight() <= maxHeight &&
      option.getHeight() == option.getWidth() * h / w) {
    if (option.getWidth() >= textureViewWidth &&
      option.getHeight() >= textureViewHeight) {
      bigEnough.add(option);

代码示例来源:origin: vondear/RxTool

protected void collectPictureSizes(SizeMap sizes, StreamConfigurationMap map) {
  for (android.util.Size size : map.getOutputSizes(ImageFormat.JPEG)) {
    mPictureSizes.add(new Size(size.getWidth(), size.getHeight()));
  }
}

代码示例来源:origin: google/cameraview

protected void collectPictureSizes(SizeMap sizes, StreamConfigurationMap map) {
  for (android.util.Size size : map.getOutputSizes(ImageFormat.JPEG)) {
    mPictureSizes.add(new Size(size.getWidth(), size.getHeight()));
  }
}

代码示例来源:origin: vondear/RxTool

/**
 * <p>Collects some information from {@link #mCameraCharacteristics}.</p>
 * <p>This rewrites {@link #mPreviewSizes}, {@link #mPictureSizes}, and optionally,
 * {@link #mAspectRatio}.</p>
 */
private void collectCameraInfo() {
  StreamConfigurationMap map = mCameraCharacteristics.get(
      CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
  if (map == null) {
    throw new IllegalStateException("Failed to get configuration map: " + mCameraId);
  }
  mPreviewSizes.clear();
  for (android.util.Size size : map.getOutputSizes(mPreview.getOutputClass())) {
    int width = size.getWidth();
    int height = size.getHeight();
    if (width <= MAX_PREVIEW_WIDTH && height <= MAX_PREVIEW_HEIGHT) {
      mPreviewSizes.add(new Size(width, height));
    }
  }
  mPictureSizes.clear();
  collectPictureSizes(mPictureSizes, map);
  for (AspectRatio ratio : mPreviewSizes.ratios()) {
    if (!mPictureSizes.ratios().contains(ratio)) {
      mPreviewSizes.remove(ratio);
    }
  }
  if (!mPreviewSizes.ratios().contains(mAspectRatio)) {
    mAspectRatio = mPreviewSizes.ratios().iterator().next();
  }
}

代码示例来源:origin: vondear/RxTool

@Override
protected void collectPictureSizes(SizeMap sizes, StreamConfigurationMap map) {
  // Try to get hi-res output sizes
  android.util.Size[] outputSizes = map.getHighResolutionOutputSizes(ImageFormat.JPEG);
  if (outputSizes != null) {
    for (android.util.Size size : map.getHighResolutionOutputSizes(ImageFormat.JPEG)) {
      sizes.add(new Size(size.getWidth(), size.getHeight()));
    }
  }
  if (sizes.isEmpty()) {
    super.collectPictureSizes(sizes, map);
  }
}

代码示例来源:origin: google/cameraview

/**
 * <p>Collects some information from {@link #mCameraCharacteristics}.</p>
 * <p>This rewrites {@link #mPreviewSizes}, {@link #mPictureSizes}, and optionally,
 * {@link #mAspectRatio}.</p>
 */
private void collectCameraInfo() {
  StreamConfigurationMap map = mCameraCharacteristics.get(
      CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
  if (map == null) {
    throw new IllegalStateException("Failed to get configuration map: " + mCameraId);
  }
  mPreviewSizes.clear();
  for (android.util.Size size : map.getOutputSizes(mPreview.getOutputClass())) {
    int width = size.getWidth();
    int height = size.getHeight();
    if (width <= MAX_PREVIEW_WIDTH && height <= MAX_PREVIEW_HEIGHT) {
      mPreviewSizes.add(new Size(width, height));
    }
  }
  mPictureSizes.clear();
  collectPictureSizes(mPictureSizes, map);
  for (AspectRatio ratio : mPreviewSizes.ratios()) {
    if (!mPictureSizes.ratios().contains(ratio)) {
      mPreviewSizes.remove(ratio);
    }
  }
  if (!mPreviewSizes.ratios().contains(mAspectRatio)) {
    mAspectRatio = mPreviewSizes.ratios().iterator().next();
  }
}

代码示例来源:origin: google/cameraview

@Override
protected void collectPictureSizes(SizeMap sizes, StreamConfigurationMap map) {
  // Try to get hi-res output sizes
  android.util.Size[] outputSizes = map.getHighResolutionOutputSizes(ImageFormat.JPEG);
  if (outputSizes != null) {
    for (android.util.Size size : map.getHighResolutionOutputSizes(ImageFormat.JPEG)) {
      sizes.add(new Size(size.getWidth(), size.getHeight()));
    }
  }
  if (sizes.isEmpty()) {
    super.collectPictureSizes(sizes, map);
  }
}

代码示例来源:origin: googlesamples/android-Camera2Basic

Arrays.asList(map.getOutputSizes(ImageFormat.JPEG)),
    new CompareSizesByArea());
mImageReader = ImageReader.newInstance(largest.getWidth(), largest.getHeight(),
    ImageFormat.JPEG, /*maxImages*/2);
mImageReader.setOnImageAvailableListener(
if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
  mTextureView.setAspectRatio(
      mPreviewSize.getWidth(), mPreviewSize.getHeight());
} else {
  mTextureView.setAspectRatio(
      mPreviewSize.getHeight(), mPreviewSize.getWidth());

代码示例来源:origin: googlesamples/android-Camera2Basic

texture.setDefaultBufferSize(mPreviewSize.getWidth(), mPreviewSize.getHeight());

代码示例来源:origin: googlesamples/android-Camera2Video

/**
 * In this sample, we choose a video size with 3x4 aspect ratio. Also, we don't use sizes
 * larger than 1080p, since MediaRecorder cannot handle such a high-resolution video.
 *
 * @param choices The list of available sizes
 * @return The video size
 */
private static Size chooseVideoSize(Size[] choices) {
  for (Size size : choices) {
    if (size.getWidth() == size.getHeight() * 4 / 3 && size.getWidth() <= 1080) {
      return size;
    }
  }
  Log.e(TAG, "Couldn't find any suitable video size");
  return choices[choices.length - 1];
}

代码示例来源:origin: googlesamples/android-Camera2Video

@Override
public int compare(Size lhs, Size rhs) {
  // We cast here to ensure the multiplications won't overflow
  return Long.signum((long) lhs.getWidth() * lhs.getHeight() -
      (long) rhs.getWidth() * rhs.getHeight());
}

代码示例来源:origin: guoxiaoxing/phoenix

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public Size(android.util.Size size) {
  this.width = size.getWidth();
  this.height = size.getHeight();
}

代码示例来源:origin: googlesamples/android-Camera2Video

/**
 * Given {@code choices} of {@code Size}s supported by a camera, chooses the smallest one whose
 * width and height are at least as large as the respective requested values, and whose aspect
 * ratio matches with the specified value.
 *
 * @param choices     The list of sizes that the camera supports for the intended output class
 * @param width       The minimum desired width
 * @param height      The minimum desired height
 * @param aspectRatio The aspect ratio
 * @return The optimal {@code Size}, or an arbitrary one if none were big enough
 */
private static Size chooseOptimalSize(Size[] choices, int width, int height, Size aspectRatio) {
  // Collect the supported resolutions that are at least as big as the preview Surface
  List<Size> bigEnough = new ArrayList<>();
  int w = aspectRatio.getWidth();
  int h = aspectRatio.getHeight();
  for (Size option : choices) {
    if (option.getHeight() == option.getWidth() * h / w &&
        option.getWidth() >= width && option.getHeight() >= height) {
      bigEnough.add(option);
    }
  }
  // Pick the smallest of those, assuming we found any
  if (bigEnough.size() > 0) {
    return Collections.min(bigEnough, new CompareSizesByArea());
  } else {
    Log.e(TAG, "Couldn't find any suitable preview size");
    return choices[0];
  }
}

代码示例来源:origin: googlesamples/android-Camera2Video

/**
 * Configures the necessary {@link android.graphics.Matrix} transformation to `mTextureView`.
 * This method should not to be called until the camera preview size is determined in
 * openCamera, or until the size of `mTextureView` is fixed.
 *
 * @param viewWidth  The width of `mTextureView`
 * @param viewHeight The height of `mTextureView`
 */
private void configureTransform(int viewWidth, int viewHeight) {
  Activity activity = getActivity();
  if (null == mTextureView || null == mPreviewSize || null == activity) {
    return;
  }
  int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();
  Matrix matrix = new Matrix();
  RectF viewRect = new RectF(0, 0, viewWidth, viewHeight);
  RectF bufferRect = new RectF(0, 0, mPreviewSize.getHeight(), mPreviewSize.getWidth());
  float centerX = viewRect.centerX();
  float centerY = viewRect.centerY();
  if (Surface.ROTATION_90 == rotation || Surface.ROTATION_270 == rotation) {
    bufferRect.offset(centerX - bufferRect.centerX(), centerY - bufferRect.centerY());
    matrix.setRectToRect(viewRect, bufferRect, Matrix.ScaleToFit.FILL);
    float scale = Math.max(
        (float) viewHeight / mPreviewSize.getHeight(),
        (float) viewWidth / mPreviewSize.getWidth());
    matrix.postScale(scale, scale, centerX, centerY);
    matrix.postRotate(90 * (rotation - 2), centerX, centerY);
  }
  mTextureView.setTransform(matrix);
}

代码示例来源:origin: googlesamples/android-Camera2Video

SurfaceTexture texture = mTextureView.getSurfaceTexture();
assert texture != null;
texture.setDefaultBufferSize(mPreviewSize.getWidth(), mPreviewSize.getHeight());
mPreviewBuilder = mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);

代码示例来源:origin: googlesamples/android-Camera2Video

private void setUpMediaRecorder() throws IOException {
  final Activity activity = getActivity();
  if (null == activity) {
    return;
  }
  mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
  mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE);
  mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
  if (mNextVideoAbsolutePath == null || mNextVideoAbsolutePath.isEmpty()) {
    mNextVideoAbsolutePath = getVideoFilePath(getActivity());
  }
  mMediaRecorder.setOutputFile(mNextVideoAbsolutePath);
  mMediaRecorder.setVideoEncodingBitRate(10000000);
  mMediaRecorder.setVideoFrameRate(30);
  mMediaRecorder.setVideoSize(mVideoSize.getWidth(), mVideoSize.getHeight());
  mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
  mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
  int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();
  switch (mSensorOrientation) {
    case SENSOR_ORIENTATION_DEFAULT_DEGREES:
      mMediaRecorder.setOrientationHint(DEFAULT_ORIENTATIONS.get(rotation));
      break;
    case SENSOR_ORIENTATION_INVERSE_DEGREES:
      mMediaRecorder.setOrientationHint(INVERSE_ORIENTATIONS.get(rotation));
      break;
  }
  mMediaRecorder.prepare();
}

相关文章

微信公众号

最新文章

更多