Android: изменение размера / масштабирования высококачественного изображения

В моем случае у меня была эта проблема, когда я делал резервные копии базы данных, используя символы ввода / вывода перенаправления linux. Поэтому я меняю синтаксис, как описано ниже. PS: используя терминал Linux или Mac.

Резервное копирование (без перенаправления>)

# mysqldump -u root -p databasename -r bkp.sql

Восстановление (без перенаправления <)

# mysql -u root -p --default-character-set=utf8 databasename
mysql> SET names 'utf8'
mysql> SOURCE bkp.sql

Ошибка «Указанный ключ был слишком длинным; максимальная длина ключа 767» байты "просто исчезли".

27
задан Community 23 May 2017 в 12:34
поделиться

2 ответа

Вкратце, хороший алгоритм уменьшения масштаба (не похожий на ближайшего соседа) состоит из 2 шагов:

  1. уменьшение масштаба с использованием BitmapFactory.Options :: inSampleSize-> BitmapFactory.decodeResource () как можно ближе к необходимому разрешению, но не меньше, чем оно
  2. , чтобы получить точное разрешение, немного уменьшив масштаб с помощью Canvas :: drawBitmap ()

Вот подробное объяснение того, как SonyMobile решила эту задачу: http://developer.sonymobile.com/2011/06/27/how-to-scale-images -for-your-android-application /

Вот исходный код утилит масштаба SonyMobile: http://developer.sonymobile.com/downloads/code-example-module/image -scaling-кода пример-для-андроид /

4
ответ дан 28 November 2019 в 05:50
поделиться

Вы можете использовать BitmapFactory.Options с BitmapFactory.decode функциями,
, используя inDensity и inTargetDensity

Пример: у вас есть размер изображения 1600x1200 и вы хотите изменить размер до 640x480
, затем 'inDensity'=5 и 'inTargetDensity'=2 (1600x2, равных 640x5).

Надеясь на помощь.

9
ответ дан 28 November 2019 в 05:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: