android.view.TextureView.getTransform()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(2.6k)|赞(0)|评价(0)|浏览(185)

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

TextureView.getTransform介绍

暂无

代码示例

代码示例来源:origin: stackoverflow.com

TextureView textureView = (TextureView) findViewById( R.id.texture );
Matrix m = new Matrix();
// Do matrix creation here.
textureView.setTransform( m );

// When you need to get the Bitmap
Bitmap bitmap = textureView.getBitmap();
bitmap = Bitmap.createBitmap( bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), textureView.getTransform( null ), true );

代码示例来源:origin: square1-io/rich-text-android

public static void adjustAspectRatio(TextureView textureView, int videoWidth, int videoHeight) {
  int viewWidth = textureView.getWidth();
  int viewHeight = textureView.getHeight();
  double aspectRatio = (double) videoHeight / videoWidth;
  int newWidth, newHeight;
  if (viewHeight > (int) (viewWidth * aspectRatio)) {
    // limited by narrow width; restrict height
    newWidth = viewWidth;
    newHeight = (int) (viewWidth * aspectRatio);
  } else {
    // limited by short height; restrict width
    newWidth = (int) (viewHeight / aspectRatio);
    newHeight = viewHeight;
  }
  int xoff = (viewWidth - newWidth) / 2;
  int yoff = (viewHeight - newHeight) / 2;
  Matrix txform = new Matrix();
  textureView.getTransform(txform);
  txform.setScale((float) newWidth / viewWidth, (float) newHeight / viewHeight);
  txform.postTranslate(xoff, yoff);
  textureView.setTransform(txform);
}

代码示例来源:origin: yixia/VitamioBundleStudio

/**
 * Sets the TextureView transform to preserve the aspect ratio of the video.
 */
private void adjustAspectRatio(int videoWidth, int videoHeight) {
 int viewWidth = mTextureView.getWidth();
 int viewHeight = mTextureView.getHeight();
 double aspectRatio = (double) videoHeight / videoWidth;
 int newWidth, newHeight;
 if (viewHeight > (int) (viewWidth * aspectRatio)) {
  // limited by narrow width; restrict height
  newWidth = viewWidth;
  newHeight = (int) (viewWidth * aspectRatio);
 } else {
  // limited by short height; restrict width
  newWidth = (int) (viewHeight / aspectRatio);
  newHeight = viewHeight;
 }
 int xoff = (viewWidth - newWidth) / 2;
 int yoff = (viewHeight - newHeight) / 2;
 Log.v(TAG, "video=" + videoWidth + "x" + videoHeight + " view=" + viewWidth + "x" + viewHeight
   + " newView=" + newWidth + "x" + newHeight + " off=" + xoff + "," + yoff);
 Matrix txform = new Matrix();
 mTextureView.getTransform(txform);
 txform.setScale((float) newWidth / viewWidth, (float) newHeight / viewHeight);
 //txform.postRotate(10);          // just for fun
 txform.postTranslate(xoff, yoff);
 mTextureView.setTransform(txform);
}

代码示例来源:origin: mengzhidaren/RecyclerViewVideoDemo

textureView.getTransform(txform);
txform.setScale((float) newWidth / viewWidth, (float) newHeight
    / viewHeight);

相关文章