Jama.Matrix.<init>()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(8.9k)|赞(0)|评价(0)|浏览(126)

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

Matrix.<init>介绍

暂无

代码示例

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

public static Bitmap rotateImage(Bitmap source, float angle) {
  Matrix matrix = new Matrix();
  matrix.postRotate(angle);
  return Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(),
                matrix, true);
}

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

Matrix matrix = new Matrix();
imageView.setScaleType(ImageView.ScaleType.MATRIX);   //required
matrix.postRotate((float) angle, pivotX, pivotY);
imageView.setImageMatrix(matrix);

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

Bitmap targetBitmap = Bitmap.createBitmap(targetWidth, targetHeight, config);
Canvas canvas = new Canvas(targetBitmap);
Matrix matrix = new Matrix();
matrix.setRotate(mRotation,source.getWidth()/2,source.getHeight()/2);
canvas.drawBitmap(source, matrix, new Paint());

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

BitmapDrawable flip(BitmapDrawable d)
{
  Matrix m = new Matrix();
  m.preScale(-1, 1);
  Bitmap src = d.getBitmap();
  Bitmap dst = Bitmap.createBitmap(src, 0, 0, src.getWidth(), src.getHeight(), m, false);
  dst.setDensity(DisplayMetrics.DENSITY_DEFAULT);
  return new BitmapDrawable(dst);
}

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

// load the origial BitMap (500 x 500 px)
 Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(), 
     R.drawable.android);
 int width = bitmapOrg.width();
 int height = bitmapOrg.height();
 int newWidth = 200;
 int newHeight = 200;
 // calculate the scale - in this case = 0.4f
 float scaleWidth = ((float) newWidth) / width;
 float scaleHeight = ((float) newHeight) / height;
 // createa matrix for the manipulation
 Matrix matrix = new Matrix();
 // resize the bit map
 matrix.postScale(scaleWidth, scaleHeight);
 // recreate the new Bitmap
 Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0, 
          width, height, matrix, true); 
 // make a Drawable from Bitmap to allow to set the BitMap 
 // to the ImageView, ImageButton or what ever
 BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);
 ImageView imageView = new ImageView(this);
 // set the Drawable on the ImageView
 imageView.setImageDrawable(bmd);
 // center the Image
 imageView.setScaleType(ScaleType.CENTER);

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

try
{
  final Matrix bitmapMatrix = new Matrix();
  switch(exifOrientation)
  {
    case 1:                                                                                     break;  // top left
    case 2:                                                 bitmapMatrix.postScale(-1, 1);      break;  // top right
    case 3:         bitmapMatrix.postRotate(180);                                               break;  // bottom right
    case 4:         bitmapMatrix.postRotate(180);           bitmapMatrix.postScale(-1, 1);      break;  // bottom left
    case 5:         bitmapMatrix.postRotate(90);            bitmapMatrix.postScale(-1, 1);      break;  // left top
    case 6:         bitmapMatrix.postRotate(90);                                                break;  // right top
    case 7:         bitmapMatrix.postRotate(270);           bitmapMatrix.postScale(-1, 1);      break;  // right bottom
    case 8:         bitmapMatrix.postRotate(270);                                               break;  // left bottom
    default:                                                                                    break;  // Unknown
  }

  // Create new bitmap.
  final Bitmap transformedBitmap = Bitmap.createBitmap(imageBitmap, 0, 0, imageBitmap.getWidth(), imageBitmap.getHeight(), bitmapMatrix, false);
}
catch(Exception e)
{
  // TODO: handle exception
}

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

Matrix matrix = new Matrix();

matrix.postRotate(90);

Bitmap scaledBitmap = Bitmap.createScaledBitmap(bitmapOrg,width,height,true);

Bitmap rotatedBitmap = Bitmap.createBitmap(scaledBitmap , 0, 0, scaledBitmap .getWidth(), scaledBitmap .getHeight(), matrix, true);

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

BitmapFactory.Options bounds = new BitmapFactory.Options();
bounds.inJustDecodeBounds = true;
BitmapFactory.decodeFile(file, bounds);

BitmapFactory.Options opts = new BitmapFactory.Options();
Bitmap bm = BitmapFactory.decodeFile(file, opts);
ExifInterface exif = new ExifInterface(file);
String orientString = exif.getAttribute(ExifInterface.TAG_ORIENTATION);
int orientation = orientString != null ? Integer.parseInt(orientString) :  ExifInterface.ORIENTATION_NORMAL;

int rotationAngle = 0;
if (orientation == ExifInterface.ORIENTATION_ROTATE_90) rotationAngle = 90;
if (orientation == ExifInterface.ORIENTATION_ROTATE_180) rotationAngle = 180;
if (orientation == ExifInterface.ORIENTATION_ROTATE_270) rotationAngle = 270;

Matrix matrix = new Matrix();
matrix.setRotate(rotationAngle, (float) bm.getWidth() / 2, (float) bm.getHeight() / 2);
Bitmap rotatedBitmap = Bitmap.createBitmap(bm, 0, 0, bounds.outWidth, bounds.outHeight, matrix, true);

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

public BitmapDrawable rotateDrawable(float angle)
{
 Bitmap arrowBitmap = BitmapFactory.decodeResource(context.getResources(), 
                          R.drawable.map_pin);
 // Create blank bitmap of equal size
 Bitmap canvasBitmap = arrowBitmap.copy(Bitmap.Config.ARGB_8888, true);
 canvasBitmap.eraseColor(0x00000000);

 // Create canvas
 Canvas canvas = new Canvas(canvasBitmap);

 // Create rotation matrix
 Matrix rotateMatrix = new Matrix();
 rotateMatrix.setRotate(angle, canvas.getWidth()/2, canvas.getHeight()/2);

 // Draw bitmap onto canvas using matrix
 canvas.drawBitmap(arrowBitmap, rotateMatrix, null);

 return new BitmapDrawable(canvasBitmap); 
}

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

Matrix matrix = new Matrix();
matrix.postRotate(90);
rotatedBitmap = Bitmap.createBitmap(sourceBitmap, 0, 0, sourceBitmap.getWidth(), sourceBitmap.getHeight(), matrix, true);

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

@Override
public boolean onScale(ScaleGestureDetector detector) {
  Matrix transformationMatrix = new Matrix();
  float focusX = detector.getFocusX();
  float focusY = detector.getFocusY();

  //Zoom focus is where the fingers are centered, 
  transformationMatrix.postTranslate(-focusX, -focusY);

  transformationMatrix.postScale(detector.getScaleFactor(), detector.getScaleFactor());

/* Adding focus shift to allow for scrolling with two pointers down. Remove it to skip this functionality. This could be done in fewer lines, but for clarity I do it this way here */
  //Edited after comment by chochim
  float focusShiftX = focusX - lastFocusX;
  float focusShiftY = focusY - lastFocusY;
  transformationMatrix.postTranslate(focusX + focusShiftX), focusY + focusShiftY);
  drawMatrix.postConcat(transformationMatrix);
  lastFocusX = focusX;
  lastFocusY = focusY;
  invalidate();
  return true;
}

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

public static Bitmap RotateBitmap(Bitmap source, float angle)
{
   Matrix matrix = new Matrix();
   matrix.postRotate(angle);
   return Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, true);
}

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

public enum Direction { VERTICAL, HORIZONTAL };

/**
  Creates a new bitmap by flipping the specified bitmap
  vertically or horizontally.
  @param src        Bitmap to flip
  @param type       Flip direction (horizontal or vertical)
  @return           New bitmap created by flipping the given one
           vertically or horizontally as specified by
           the <code>type</code> parameter or
           the original bitmap if an unknown type
           is specified.
**/
public static Bitmap flip(Bitmap src, Direction type) {
  Matrix matrix = new Matrix();

  if(type == Direction.VERTICAL) {
    matrix.preScale(1.0f, -1.0f);
  }
  else if(type == Direction.HORIZONTAL) {
    matrix.preScale(-1.0f, 1.0f);
  } else {
    return src;
  }

  return Bitmap.createBitmap(src, 0, 0, src.getWidth(), src.getHeight(), matrix, true);
}

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

Bitmap background = Bitmap.createBitmap((int)width, (int)height, Config.ARGB_8888);

float originalWidth = originalImage.getWidth(); 
float originalHeight = originalImage.getHeight();

Canvas canvas = new Canvas(background);

float scale = width / originalWidth;

float xTranslation = 0.0f;
float yTranslation = (height - originalHeight * scale) / 2.0f;

Matrix transformation = new Matrix();
transformation.postTranslate(xTranslation, yTranslation);
transformation.preScale(scale, scale);

Paint paint = new Paint();
paint.setFilterBitmap(true);

canvas.drawBitmap(originalImage, transformation, paint);

return background;

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

Matrix matrix = new Matrix();
matrix.postRotate(90);
rotated = Bitmap.createBitmap(original, 0, 0, 
               original.getWidth(), original.getHeight(), 
               matrix, true);

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

Matrix matrix = new Matrix();
Matrix savedMatrix = new Matrix();
                          matrix.postScale(scale, scale, mid.x, mid.y);

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

public Bitmap getResizedBitmap(Bitmap bm, int newWidth, int newHeight) {
  int width = bm.getWidth();
  int height = bm.getHeight();
  float scaleWidth = ((float) newWidth) / width;
  float scaleHeight = ((float) newHeight) / height;
  // CREATE A MATRIX FOR THE MANIPULATION
  Matrix matrix = new Matrix();
  // RESIZE THE BIT MAP
  matrix.postScale(scaleWidth, scaleHeight);

  // "RECREATE" THE NEW BITMAP
  Bitmap resizedBitmap = Bitmap.createBitmap(
    bm, 0, 0, width, height, matrix, false);
  bm.recycle();
  return resizedBitmap;
}

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

import android.graphics.*;
//somewhere global
int iCurStep = 0;// current step

//don't forget to initialize
Path pathMoveAlong = new Path();
private static Bitmap bmImage = null;

@Override
protected void onDraw(Canvas canvas) {
  Matrix mxTransform = new Matrix();
  PathMeasure pm = new PathMeasure(pathMoveAlong, false);
  float fSegmentLen = pm.getLength() / 20;//20 animation steps

  if (iCurStep <= 20) {
    pm.getMatrix(fSegmentLen * iCurStep, mxTransform,
      PathMeasure.POSITION_MATRIX_FLAG + PathMeasure.TANGENT_MATRIX_FLAG);
    canvas.drawBitmap(bmImage, mxTransform, null);
    iCurStep++;
    invalidate();
  } else {
    iCurStep = 0;
  };
};

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

public void fixOrientation() {
  if (mBitmap.getWidth() > mBitmap.getHeight()) {
    Matrix matrix = new Matrix();
    matrix.postRotate(90);
    mBitmap = Bitmap.createBitmap(mBitmap , 0, 0, mBitmap.getWidth(), mBitmap.getHeight(), matrix, true);
  }
}

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

Matrix matrix = new Matrix();
matrix.postScale(0.5f, 0.5f);
Bitmap croppedBitmap = Bitmap.createBitmap(bitmapOriginal, 100, 100,100, 100, matrix, true);

相关文章