Изображение JavaScript изменяет размер

Вы правы, что вход пользователя / пароль не поддерживается изначально в Firebase Auth в данный момент.

Обходной путь, который вы могли бы использовать без использования пользовательского auth с другим бэкэнд, - это принять имена пользователей в ваш пользовательский интерфейс, но в основной логике добавьте «@yourowndomain.com» перед вызовом функций для регистрации или входа в систему по электронной почте.

Таким образом, вы будете использовать аутентификацию по электронной почте / паролю, отображение <username> в <username>@yourowndomain.com

45
задан Adriano 9 August 2018 в 03:44
поделиться

6 ответов

Для изменения изображения пропорционально, просто только изменяют одну из ширины/высоты css свойства, оставляют другой набор автоматическому.

image.style.width = '50%'
image.style.height = 'auto'

Это гарантирует, что его соотношение сторон остается тем же.

Принимают во внимание, что браузеры склоняются к , сосут при изменении размеров изображений приятно - Вы, вероятно, найдете, что Ваше измененное изображение выглядит ужасным.

66
ответ дан Dan 26 November 2019 в 21:03
поделиться

хорошо это решило, вот мой заключительный код

if($(this).width() > $(this).height()) { 
 $(this).css('width',MaxPreviewDimension+'px');
 $(this).css('height','auto');
} else {
 $(this).css('height',MaxPreviewDimension+'px');
 $(this).css('width','auto');
}

парни Спасибо

18
ответ дан Komang 26 November 2019 в 21:03
поделиться

Вместо того, чтобы изменить атрибуты высоты и ширины изображения, попытайтесь изменить высоту CSS и ширину.

myimg = document.getElementById('myimg');
myimg.style.height = "50px";
myimg.style.width = "50px";

Один общий "глюк" - то, что стили высоты и ширины являются строками, которые включают единицу, как "пкс" в примере выше.

Редактирование - я думаю, что установка высоты и ширины непосредственно вместо того, чтобы использовать style.height и style.width должна работать. Это также имело бы преимущество уже наличия исходных размеров. Можно ли отправить немного кода? Вы уверены, что находитесь в режиме стандартов вместо режима причуд?

Это должно работать:

myimg = document.getElementById('myimg');
myimg.height = myimg.height * 2;
myimg.width = myimg.width * 2;
5
ответ дан Neall 26 November 2019 в 21:03
поделиться

Попробованный следующий код, работавший хорошо на IE6 на WinXP Pro SP3.

function Resize(imgId)
{
  var img = document.getElementById(imgId);
  var w = img.width, h = img.height;
  w /= 2; h /= 2;
  img.width = w; img.height = h;
}

Также хорошо в FF3 и Opera 9.26.

4
ответ дан PhiLho 26 November 2019 в 21:03
поделиться
function resize_image(image, w, h) {

    if (typeof(image) != 'object') image = document.getElementById(image);

    if (w == null || w == undefined)
        w = (h / image.clientHeight) * image.clientWidth;

    if (h == null || h == undefined)
        h = (w / image.clientWidth) * image.clientHeight;

    image.style['height'] = h + 'px';
    image.style['width'] = w + 'px';
    return;
}

просто передайте ему либо элемент img DOM, либо идентификатор элемента изображения, а также новые ширину и высоту.

или вы можете передать его либо просто ширину, либо только высоту (если только высота, то передайте ширину как null или undefined), и размер будет изменен с сохранением соотношения сторон

0
ответ дан 26 November 2019 в 21:03
поделиться

Использовать JQuery

var scale=0.5;

minWidth=50;
minHeight=100;

if($("#id img").width()*scale>minWidth && $("#id img").height()*scale >minHeight)
{
    $("#id img").width($("#id img").width()*scale);
    $("#id img").height($("#id img").height()*scale);
}
1
ответ дан 26 November 2019 в 21:03
поделиться
Другие вопросы по тегам:

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