Este artigo apresenta principalmente o método de cultivar miniaturas com proporções fixas do ASP.
Existem dois métodos gerais para gerar miniaturas:
O primeiro tipo: escala em uma imagem pequena de tamanho fixo
O segundo tipo: pequenas imagens que escalam para iguais a proporções
A desvantagem do primeiro método é que ele deformará a imagem, como uma menina esbelta se transformando em uma garota gorda
A desvantagem do segundo método é que, se a imagem for exibida em uma tabela e a proporção da imagem for diferente dessa tabela, ela não pode preencher toda a tabela, deixando uma lacuna, o que não é bonito.
O método introduzido aqui é corrigir o corte da escala , usando o componente ASPJPEG, ou seja, a proporção da miniatura gerada é fixa, mas não se deformam. Se a proporção da imagem original for maior que a proporção definida, o excesso de imagens em ambos os lados será automaticamente cortado; e os lados inferiores serão cortados automaticamente; se a proporção da imagem original for menor que a proporção de aspecto definido, os excessos nos lados superior e inferior serão cortados automaticamente.
?
- FunctionMakepic (Sourcpic, Newwidth, NewHeight, Destpic)
- OnErrorReSumenext
- Makepic = falso
- Setjpeg = server.createObject (Persits.jpeg)
- iferrThen
- Response.Write (Erro: o componente ASPJPEG não está instalado no espaço)
- resposta.END
- endif
- JPEG.Quality = 100
- JPEG.OPENSOURCPIC
- jpeg.preseserveaspectratio = escala de razão igual 'true'
- ifjpeg.originalwidth/jpeg.originHeight> Newwidth/newHeightThen'it é muito plano, você precisa cortar as partes esquerda e direita
- jpeg.Height = newHeight
- jpeg.cropcint ((jpeg.width - nowidth)/2), 0, cint ((jpeg.width - nowidth)/2)+newwidth, newHeight
- else'it é muito alto, corte as partes superior e inferior
- jpeg.width = newwidth
- jpeg.crop0, cint ((jpeg.Height - NewHeight)/2), Newwidth, Cint ((JPEG.Height - NewHeight)/2)+NewHeight
- endif
- JPEG.SAVEDESTPIC
- iferr.Number = 0Thenmakepic = True
- Jpeg.close
- Setjpeg = nada
- Função final