Recorte e Redimensionamento

O Filesquash realiza a menor quantidade possível de recorte para poder redimensionar sua imagem para o tamanho exato que você especificou, sem alterar a proporção da imagem.

Recortando a imagem

Antes de redimensionar a imagem, o Filesquash recorta ela, então ela tem a mesma Before resizing the image, thumbor crops it so it has the same aspect as the desired dimensions. Let’s see an example to clarify this concept.

Considere uma imagem de 800x600px que queremos transformar em um thumbnail de 400x150px. A primeira coisa que o Filesquash precisa fazer é calcular a proporção entre as imagens:

[800 / 600 = 1.333] [400 / 150 = 2.666]

Como as proporções não são iguais, o Filesquash define se a imagem precisará de recorte horizontal ou vertical. Nós nunca cortamos nos das duas formas, já que não se faz necessário.

Então, em nosso exemplo, para termos um thumbnail com a mesma proporção da imagem original, nós precisaríamos que a altura do thumbnail fosse 300px (800 está para X assim como 400 está para 150):

[x = 800 * 150 / 400] [x = 300]

Tudo o que precisamos fazer agora é aparar 300px da altura da imagem. Para determinar se recortaremos do topo, do rodapé ou de ambos, nós usamos os pontos focais ou o alinhamento vertical. Se algum ponto focal tiver sido especificado, nós usaremos eles para encontrar o centro de massa da imagem. De outra forma nós usaremos os alinhamentos horizontal e vertical.

Digamos que para essa imagem nenhum ponto focal foi encontrado, então nós iremos usar o alinhamento vertical para aparar a altura da imagem. Dado que especificamos o alinhamento como middle para esse exemplo, nós iremos aparar 150px do topo e 150px do rodapé da imagem, como na imagem a seguir:

Segue um exemplo de como o Filesquash recortaria a imagem utilizando alinhamento centralizado:

Redimensionando a imagem

Agora que a imagem possui a mesma proporção da imagem que desejamos, é so uma questão de redimensioná-la para as dimensões desejadas.

Espelhando a imagem

Caso as dimensões desejadas apresentem valores negativos, o Filesquash irá espelhar a imagem naquele eixo, ou seja, uma largura negativa irá resultar numa imagem espelhada na horizontal, enquanto uma altura negativa irá resultar numa imagem espelhada na vertical.

Last updated