Масштабирование изображения в GWT

Изменение размера Виджета Изображения в GWT изменяет размер элемента изображения, но не повторно масштабирует изображение на экране. Поэтому следующее не будет работать:

Image image = new Image(myImageResource);
image.setHeight(newHeight);
image.setWidth(newWidth);
image.setPixelSize(newWidth, newHeight);

Это вызвано тем, что GWT реализует свой виджет Изображения путем установки background-image из HTML элемент как изображение, с помощью CSS.

Как каждый заставляет действительный образ изменять размер?

22
задан 3 revs, 2 users 100% 1 January 2014 в 03:18
поделиться

2 ответа

Я увидел эту запись в блоге, которая решает проблему, используя GWT DataResource вместо ImageResource. Оказывается, та же техника будет работать и с ImageResource, если использовать его следующим образом:

Image image = new Image(myImageResource.getURL());
image.setPixelSize(getLength(), getHeight());

Чтобы сохранить соотношение сторон, вычислите его так:

Image image = new Image(myImageResource.getURL());
image.setPixelSize(newWidth, myImageResource.getHeight() * newWidth / myImageResource.getWidth());

Начиная с GWT 2.4, используйте (см. здесь):

Image image = new Image(myImageResource.getSafeUri());
image.setPixelSize(newWidth, myImageResource.getHeight() * newWidth / myImageResource.getWidth());
34
ответ дан 29 November 2019 в 04:08
поделиться

Попробуйте виджет загрузчика изображений http://code.google.com/p/gwt-image-loader {{1} } Класс FitImage предоставляет то, что вы ищете.

PS: примените также исправления от проблем, так как есть несколько мелких ошибок, которые я исправил

3
ответ дан 29 November 2019 в 04:08
поделиться
Другие вопросы по тегам:

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