Я хочу потянуть битовый массив на холсте с большим размером, чем это. Я могу использовать canvas.drawBitmap (битовый массив, пустой указатель, destRect, пустой указатель); но это дает низкое качество, поскольку результат пикселизирован, если исходное изображение красивое меньший, чем целевой прямоугольник.
Как я могу потянуть свой битовый массив, использующий билинейный или передискретизация bicubic?
Любая справка ценилась бы, спасибо.
Вам необходимо установить флаг FILTER_BITMAP_FLAG в краске.
canvas.drawBitmap(bitmap, matrix, null); //ugly jaggies unless scale is 1:1, but fast
или
Paint paint = new Paint();
paint.setFilterBitmap();
canvas.drawBitmap(bitmap, matrix, paint); // pretty but slower (not too slow, usually)
То же самое применимо к другим (синтаксическим сахарам) формам метода drawBitmap
.
Нигде нет документации по большинству параметров рисования Android, равно как и документации по базовой собственной библиотеке Skia, которая выполняет рендеринг. Я был бы счастливее, если бы они были. Вы можете выполнить поиск в исходном коде Skia в Google Code Search. Найдите Skia и покопайтесь в исходном коде; это единственная документация.