Este artículo presenta principalmente el método de recortar miniaturas con proporciones fijas de ASP.
Hay dos métodos generales para generar miniaturas:
El primer tipo: escala en una imagen pequeña de tamaño fijo
El segundo tipo: pequeñas imágenes que se escala para igualas proporciones
La desventaja del primer método es que deformará la imagen, como una chica delgada que se convierte en una niña gorda.
La desventaja del segundo método es que si la imagen se muestra en una tabla y la relación de aspecto de la imagen es diferente de esta tabla, no puede llenar toda la tabla, dejando un vacío, lo que no es atractivo.
El método introducido aquí es fijar el cultivo a escala , utilizando el componente ASPJPEG, es decir, la relación de aspecto de la miniatura generada es fija, pero no se deformará. Si la relación de aspecto de la imagen original es mayor que la relación de aspecto establecida, las imágenes excesivas en ambos lados se reducirán automáticamente; y los lados inferiores se reducirán automáticamente;
?
- FunctionMakePic (SourCpic, NewWidth, NewHeight, Destpic)
- OnerrorResumEnext
- Makepic = Falso
- SetJpeg = server.createObject (Persits.jpeg)
- iferrthen
- Response.Write (Error: el componente ASPJPEG no está instalado en el espacio)
- respuesta.
- endif
- Jpeg.Quality = 100
- Jpeg.opensourcpic
- JPEG.PRESERVEASPECTRATIO = verdadero 'Escalación de la igual relación
- ifjpeg.originalwidth/jpeg.originalHeight> Newwidth/NewHeightThen'it es demasiado plano, debe cortar las partes izquierda y derecha
- jpeg.Height = NewHeight
- jpeg.cropcint ((jpeg.width - newidth)/2), 0, cint ((jpeg.width - niewwidth)/2)+newwidth, newHeight
- De lo contrario, es demasiado alto, corta las partes superior e inferior
- jpeg.width = newWidth
- jpeg.crop0, cint ((jpeg.height - niewheight)/2), newwidth, cint ((jpeg.height - niewheight)/2)+newheight
- endif
- Jpeg.savedestpic
- iferr.number = 0ThenMakePic = True
- Jpeg.clare
- SetJpeg = nada
- Función final