Ежевика - как изменить размер изображения?

Фактор

ИСПОЛЬЗОВАНИЕ: math.ranges

: факториал (n - n!) 1 [a, b] произведение;

8
задан Juha Syrjälä 8 May 2010 в 10:40
поделиться

4 ответа

I'm not a Blackberry programmer, but I believe some of these links will help you out:

Image Resizing Article
Resizing a Bitmap on the Blackberry
Blackberry Image Scaling Question

3
ответ дан 5 December 2019 в 06:23
поделиться

Имейте в виду, что масштабирование изображения по умолчанию, выполняемое BlackBerry, довольно примитивно и обычно выглядит не очень хорошо. Если вы создаете для 5.0, есть новый API , который позволяет значительно улучшить масштабирование изображения с помощью таких фильтров, как билинейные фильтры или фильтры Ланцоша.

3
ответ дан 5 December 2019 в 06:23
поделиться

Вы можете сделать это довольно просто, используя метод EncodedImage.scaleImage32 () . Вам нужно будет предоставить ему коэффициенты, на которые вы хотите масштабировать ширину и высоту (как Fixed32 ).

Вот пример кода, который определяет коэффициент масштабирования для ширины и высоты путем деления исходного размера изображения на желаемый размер с использованием класса RIM Fixed32 .

public static EncodedImage resizeImage(EncodedImage image, int newWidth, int newHeight) {
    int scaleFactorX = Fixed32.div(Fixed32.toFP(image.getWidth()), Fixed32.toFP(newWidth));
    int scaleFactorY = Fixed32.div(Fixed32.toFP(image.getHeight()), Fixed32.toFP(newHeight));
    return image.scaleImage32(scaleFactorX, scaleFactorY);
}

Если вам посчастливилось быть разработчиком для OS 5.0, Марк разместил ссылку на новые API , которые намного понятнее и универсальнее, чем тот, который я описал выше. Например:

public static Bitmap resizeImage(Bitmap originalImage, int newWidth, int newHeight) {
    Bitmap newImage = new Bitmap(newWidth, newHeight);
    originalImage.scaleInto(newImage, Bitmap.FILTER_BILINEAR, Bitmap.SCALE_TO_FILL);
    return newImage;
}

(Естественно, вы можете заменить параметры фильтра / масштабирования в зависимости от ваших потребностей.)

10
ответ дан 5 December 2019 в 06:23
поделиться
Другие вопросы по тегам:

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