Cet article introduit principalement la méthode de vignettes de recadrage avec des proportions fixes d'ASP.
Il existe deux méthodes générales pour générer des miniatures:
Le premier type: échelle dans une petite image de taille fixe
Le deuxième type: petites images qui évoluent à des proportions égales
L'inconvénient de la première méthode est qu'il déformera l'image, comme une fille mince se transformant en grosse fille
L'inconvénient de la deuxième méthode est que si l'image est affichée dans un tableau et que le rapport d'aspect de l'image est différent de ce tableau, il ne peut pas combler toute la table, laissant un écart, qui n'est pas beau.
La méthode introduite ici est de fixer la culture d'échelle , en utilisant le composant AspjPEG, c'est-à-dire que le rapport d'aspect de la miniature générée est fixe, mais ne se déformera pas. Si le rapport d'aspect de l'image d'origine est supérieur au rapport d'aspect défini, les images excessives des deux côtés seront automatiquement coupées; et les côtés inférieurs seront automatiquement coupés;
?
- FonctionMakePic (Sourcpic, Newwidth, Newheight, Destpic)
- Onerrorresumenext
- Makepic = faux
- Setjpeg = server.createObject (persits.jpeg)
- idierrhen
- Response.Write (Erreur: le composant ASPJPEG n'est pas installé dans l'espace)
- réponse.
- endire
- Jpeg.quality = 100
- JPEG.OpenSOURCPIC
- jpeg.preservaspectratio = true 'l'échelle de rapport égal
- ifjpeg.originalwidth / jpeg.originalheight> newwidth / newheightthe'it est trop plat, vous devez couper les pièces gauche et droite
- jpeg.height = newheight
- jpeg.cropcint ((jpeg.width - newwidth) / 2), 0, cint ((jpeg.width - newwidth) / 2) + newwidth, newheight
- else est trop haut, coupez les parties supérieures et inférieures
- jpeg.width = newwidth
- JPEG.CROP0, CINT ((Jpeg.Height - Newheight) / 2), Newwidth, Cint ((jpeg.height - newheight) / 2) + Newheight
- endire
- JPEG.SAVEDESTPIC
- iferr.number = 0THENMAKEPIC = true
- Jpeg.close
- Setjpeg = rien
- Finition de fin