Redimensionar uma foto em HTML e manter a proporção

5

Gostaria de exibir as fotos que eu carreguei (para o meu site drupal) e gostaria de tornar as fotos menores, mas usar heigh = 100 não respeita a proporção. Tudo o que quero fazer é diminuir a foto.

    
por thegreyspot 09.10.2009 / 23:27

6 respostas

3

Se você especificar apenas a largura ou a altura, mas não as duas, preservará a proporção, de forma que você provavelmente esteja herdando acidentalmente um width=100% ou algo assim. Inspecione o elemento com o Firebug ou o inspetor do Safari.

Se você estiver preocupado com o que acontecerá com uma foto que não seja 4: 3 ou 3: 4, como fotos enviadas por usuários de panoramas, considere os grupos max-height e max-width ou overflow: none; no bloco que contém.

    
por 09.10.2009 / 23:51
10

Você pode fazer isso com uma folha de estilo. Primeiro, defina o seguinte estilo:

.thumb {
  max-width: 100px;
  max-height: 100px;
  width: expression(this.width > 100 ? "100px" : true);
  height: expression(this.height > 100 ? "100px" : true);
}

Em seguida, adicione este estilo às suas tags de imagem, da seguinte forma:

<img class="thumb" ...>

Não inclua os elementos height e width desta vez.

A primeira metade desse estilo é para navegadores que suportam as propriedades max-width e max-height - Chrome, Firefox, Opera e Safari. A segunda metade é um hack para o IE, o que não acontece.

Fonte: Tamanho máximo da imagem & Altura

Obrigado pelo feedback, Diago.

    
por 09.10.2009 / 23:37
4

Se você está tentando exibir miniaturas, apenas definir o tamanho é uma má ideia. A imagem em tamanho real ainda é baixada para o computador do usuário e redimensionada lá. Isso consome a largura de banda e a potência do processador e torna o site lento para carregar. É muito melhor criar miniaturas no tamanho certo e fazer o upload delas.

A imagem em tamanho total pode ser carregada em um clique a partir da miniatura - se era isso que você queria.

Se você quiser alterar o tamanho da página, certifique-se de que:

new_width = new_height * (old_width / old_height)

para preservar a proporção da imagem.

Embora o dlamblin indique apenas a alteração de um valor, deve preservar a proporção.

    
por 09.10.2009 / 23:41
1

Já que você mencionou o Drupal, existem vários módulos para o Drupal manipular e manipular imagens. Eles permitirão que você configure seu site Drupal para que isso seja feito automaticamente. Provavelmente, você precisa da Imagem . Mas você pode explorar o Filtro de redimensionamento de imagens .

    
por 10.10.2009 / 17:24
0

O Kompozer é um editor WYSIWYG que pode fazer isso automaticamente. Você pode tentar.

    
por 10.10.2009 / 02:28
0

Como você está usando o Drupal, você desejará o módulo Imagecache ( link ). Embora você diga que não tem acesso root, você não precisa disso para adicionar módulos do Drupal - você só precisa de acesso ftp e uma conta admin no seu site Drupal ( link )

    
por 09.07.2010 / 18:15

Tags