Articles of матрицы

Сенсор Android: getRotationMatrix () возвращает неправильные значения, почему?

Прошло несколько дней с тех пор, как я начал использовать эту функцию и еще не успел получить достоверные результаты. Я хочу в основном преобразовать вектор ускорения из системы координат устройства, в координаты реального мира . Я знаю, что это возможно, потому что у меня ускорение в относительных координатах, и я знаю ориентацию устройства в реальной […]

Получить значение поворота из матрицы в android?

Как повернуть значение из переведенной / масштабированной / повернутой матрицы? Matrix matrix = new Matrix(); matrix.postScale(…); matrix.postTranslate(…); matrix.postRotate(…); … Теперь я не знаю, что это такое, но мне нужно это получить. Как это сделать?

Может ли кто-нибудь объяснить Матрицу (Mr.Anderson)?

Я довольно новичок в манипулировании изображениями вручную, поэтому, пожалуйста, несите меня. У меня есть изображение, которое я разрешаю пользователю сжиматься / расти и двигаться. Основное поведение работает отлично. Тем не менее, мне нужно иметь возможность захватить все, что находится в «окне просмотра» (видимый прямоугольник области отсечения), и сохранить его в виде отдельного растрового изображения. Прежде […]

Какова связь между холстом и матрицей в Android?

Я прочитал этот обзор холста: Класс Canvas содержит призывы «draw». Чтобы нарисовать что-то, вам нужно 4 основных компонента: битмап для хранения пикселей, холст для размещения вызовов рисования (запись в растровое изображение), примитив рисования (например, Rect, Path, текст, растровое изображение) и краска (до Описать цвета и стили для чертежа). Может ли кто-нибудь объяснить полотно более четко? […]

Растянуть растровое изображение в определенном углу

Можно ли растянуть растровое изображение в определенном углу? На приведенном ниже рисунке показано мое намерение: Я снимаю картинку с камерой, обнаруживаю углы изображения и хочу преобразовать содержимое. Насколько я знаю, это невозможно достичь только с помощью класса Matrix . Класс камеры должен помочь, но мне нужно будет вычислить положение камеры. Есть ли алгоритм для этой […]

Android: применить произвольное преобразование к представлению

Я хотел бы взять произвольную матрицу и применить ее к android.views.View. Единственный надежный способ, который я нашел, – это взломать: MyAnimation animation = new MyAnimation(matrix); animation.setDuration(0); animation.setFillAfter(true); view.setAnimation(animation); Есть ли способ лучше? Я пытался использовать getChildStaticTransformation и помещать его в родителя, но это не сработало (возможно, я делал это неправильно?)

Как получить значение масштабирования произвольной матрицы?

Изображение масштабируется матрицей: Matrix matrix = new Matrix(); matrix.postScale(…); matrix.postTranslate(…); matrix.postRotate(…); … Я надеюсь, что увеличенное изображение будет не меньше половины оригинала, поэтому общий масштаб не должен быть меньше 0,5. Но как это сделать? Я попытался проверить первое значение матрицы: float pendingZoom = 0.6f; float[] values = new float[9]; Matrix.getValues(values); float scalex = values[Matrix.MSCALE_X]; Затем: […]

Почему иногда битмапы – это одни и те же объекты?

В моем коде я делаю что-то вроде этого: public void doStuff() { Bitmap scaledBitmap = decodeFileAndResize(captureFile); saveResizedAndCompressedBitmap(scaledBitmap); Bitmap rotatedBitmap = convertToRotatedBitmap(scaledBitmap); driverPhoto.setImageBitmap(rotatedBitmap); if (rotatedBitmap != scaledBitmap) { scaledBitmap.recycle(); scaledBitmap = null; System.gc(); } } private Bitmap convertToRotatedBitmap(Bitmap scaledBitmap) throws IOException { ExifInterface exifInterface = new ExifInterface(getCaptureFilePath()); int exifOrientation = exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION, 0); float orientationDegree = getRotationDegree(exifOrientation); […]

В чем разница между `Matrix.setRotate` и` Matrix.postRotate`

Я пытаюсь повернуть заданный растровый рисунок с помощью объекта Android Matrix. Я хочу отправить его на свой сервер, и я использую Android API8. Должен ли я использовать Matrix.setRotate или Matrix.postRotate ? Какая разница между двумя?

DrawBitmap: Как вы можете установить координаты и использовать матрицу?

Я смотрел документацию и единственный drawBitmap() который позволяет Matrix качестве параметра не принимать никаких координат экрана по параметру. Я использую следующий код для рисования растрового изображения с вращением матрицы: Matrix matrix = new Matrix(); matrix.setRotate(rotation,bitmap.getWidth()/2,bitmap.getHeight()/2); canvas.drawBitmap(bitmap, matrix, null); Который, конечно, рисует мое растровое изображение на 0,0 . Как установить положение и использовать матрицу? В идеале […]