Java2D: масштабирование проблем

PHP ошибка PDO не существует в 5.4

Неустранимая ошибка: класс 'DigitalToolBox \ PDO' не найден в C: \ SERVER \ www \ MyAPP \ DigitalToolBox \ MysqlConnectionTool.php в строке 19

вы можете видеть, что pdo загружен, потому что находится в списке с этой командой:

print_r(get_loaded_extensions()); 

эта ошибка возникает для использования пространств имен , нам нужно добавить в начале нашего кода инструкция:

use PDO;

IF ($ this-> works) $ voiceForThis ++;

8
задан Johnathan 31 May 2009 в 17:14
поделиться

3 ответа

Я могу предложить сначала изменить размер изображения на отдельном Буферизованное изображение . Причина в том, что объект Graphics2D из BufferedImage может быть получен для создания масштабированного изображения лучшего качества.

Graphics2D может принимать «подсказки рендеринга», которые инструктируют способ, которым обработка изображения должна выполняться объектом Graphics2D . Метод setRenderingHint - один из методов, который можно использовать для установки этих подсказок рендеринга. Можно использовать подсказки рендеринга из класса RenderingHints .

Затем, используя этот объект Graphics2D , изображение может быть нарисовано в BufferedImage с помощью рендеринга подсказки указанные ранее.

Примерный (непроверенный) код будет работать следующим образом:

BufferedImage scaledImage = new BufferedImage(
    scaledWidth,
    scaledHeight,
    BufferedImage.TYPE_INT_RGB
);

Graphics2D g = scaledImage.createGraphics();
g.setRenderingHints(
    RenderingHints.Key.KEY_INTERPOLATION,
    RenderingHints.VALUE_INTERPOLATION_BICUBIC
);

g.drawImage(panelImage, 0, 0, scaledWidth, scaledHeight, null);
g.dispose();

Другие интересные подсказки по рендерингу могут включать:

Раздел Контроль качества рендеринга раздела The Учебные пособия по Java также содержат дополнительную информацию о том, как контролировать качество рендеринга объектов Graphics2D .

И очень хороший источник информации по работе с графическими интерфейсами в целом, Filthy Rich Clients ] Chet Haase и Romain Guy настоятельно рекомендуется. Есть один раздел книги, посвященный проблеме масштабирования изображений, что кажется весьма актуальным.

Раздел Управление качеством отрисовки Руководства по Java также содержит дополнительную информацию о том, как управлять качеством отрисовки объектов Graphics2D .

И в качестве очень хорошего источника информации о работе с графическими интерфейсами в целом настоятельно рекомендуется Filthy Rich Clients Chet Haase и Romain Guy. Есть один раздел книги, посвященный проблеме масштабирования изображений, что кажется весьма актуальным.

Раздел Управление качеством отрисовки Руководства по Java также содержит дополнительную информацию о том, как управлять качеством отрисовки объектов Graphics2D .

И в качестве очень хорошего источника информации о работе с графическими интерфейсами в целом настоятельно рекомендуется Filthy Rich Clients Chet Haase и Romain Guy. Есть один раздел книги, посвященный проблеме масштабирования изображений, что кажется весьма актуальным.

11
ответ дан 5 December 2019 в 12:12
поделиться

Может быть, вам следует позвонить:

 g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);

и

g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
2
ответ дан 5 December 2019 в 12:12
поделиться

Coobird имеет правильное представление. Я бы также попробовал интерполяцию RenderingHints.VALUE_INTERPOLATION_BILINEAR и посмотрел, выглядит ли она лучше. Однако бикубический режим лучше работает при апскейлинге. Для получения наилучших результатов при уменьшении масштаба необходимо уменьшить масштаб в несколько шагов . Сначала уменьшите разрешение вдвое, затем снова уменьшите вдвое и т. Д., Пока вы не приблизитесь к желаемому разрешению (т.е. вы не сможете уменьшить вдвое или изображение станет слишком маленьким). Последний шаг - уменьшить до желаемого разрешения.

Например, предположим, что ваше входное изображение имеет размер 800x600 , и вы хотите уменьшить масштаб до 160x120 :

  1. Downscale 50% . -> 400x300
  2. Уменьшение масштаба 50% . -> 200x150
  3. Уменьшить до 160x120 .
0
ответ дан 5 December 2019 в 12:12
поделиться
Другие вопросы по тегам:

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