aspjpeg est un composant de traitement d'image très puissant, version purement anglaise. Cependant, il existe déjà des versions gratuites et des versions crackées, mais il n'y a pas beaucoup d'articles qui les présentent en détail et en profondeur. Même s'il y en a, ils ne concernent que des vignettes d'images et des filigranes d'images. C'est peut-être parce que c'est en anglais pur.
Ici, je vais parler de l'utilisation avancée d'aspjpeg en fonction de ces problèmes. Les technologies ici comprennent principalement :
Miniatures d'images, filigranes d'images, technologie de code de sécurité, découpe d'images, fusion d'images, prise en charge de bases de données, introduction de méthodes plus rares et de certaines technologies pratiques associées
Le seul inconvénient d’aspjpeg est que la méthode de sortie est relativement simple. Ici, nous parlons principalement de cette méthode de sortie qui enregistre le traitement de l'image puis l'appelle. En plus, je suis paresseux, donc certains codes sont encore cités dans les documents originaux, et j'explique de temps en temps ce que je ne comprends pas !
Les camarades qui ont étudié VB ou .net le comprendront certainement en un coup d'œil. Le pinceau arrive. héhé.
1. Miniature de l'image
<%
Set Jpeg = Server.CreateObject("Persits.Jpeg") appelle le composant
Path = Server.MapPath("images") & "clock.jpg" Le chemin de l'image à traiter
Jpeg.Open Path ouvre l'image à la moitié de la hauteur et de la largeur de l'image d'origine.
Jpeg.Largeur = Jpeg.OriginalWidth / 2
Jpeg.Hauteur = Jpeg.OriginalHeight / 2
enregistrer l'image
Jpeg.Save Server.MapPath("images") & "clock_small.jpg"
%>
<IMG SRC="images/clock_small.jpg"> Afficher les images traitées
2. Filigrane d'image
<%
Définir Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open Server.MapPath("images/dodge_viper.jpg")
Commencez à écrire du texte
Jpeg.Canvas.Font.Color = &000000' couleur rouge
Jpeg.Canvas.Font.Family = Police "Courier New"
Jpeg.Canvas.Font.Bold = True s'il faut mettre en gras
Jpeg.Canvas.Print 10, 10, "Copyright (c) XYZ, Inc."
Coordonnées d'impression x Coordonnées d'impression y Caractères à imprimer Voici le traitement des bordures de l'image
Jpeg.Canvas.Pen.Color = &H000000' couleur noire
Jpeg.Canvas.Pen.Width = 2 largeur de pinceau
Jpeg.Canvas.Brush.Solid = False s'il faut mettre en gras
Jpeg.Canvas.Bar 1, 1, Jpeg.Largeur, Jpeg.Hauteur
Coordonnée X de départ Coordonnée Y de départ longueur d'entrée hauteur d'entrée
Jpeg.Enregistrer Server.MapPath("images/dodge_viper_framed.jpg") Enregistrer
%>
3. Code de sécurité
Le principe du code de sécurité est similaire à l'ajout d'un filigrane. De nombreux amis me demandent une technologie de codage spécifique, je vais l'écrire et la partager avec vous ici. héhé.
<%
Fonction pour générer un code de sécurité www.downcodes.com
fonction make_randomize(max_len,w_n) max_len génère la longueur, w_n : 0 peut contenir des lettres, 1 : uniquement des chiffres
randomiser
pour intcounter=1 à max_len
quoisuivant=int((1-0+1)*rnd+w_n)
si quelle est la suite = 0 alors
supérieur = 122
inférieur = 97
autre
supérieur = 57
inférieur=48
finir si
strnewpass=strnewpass & chr(int((supérieur-inférieur+1)*rnd)+inférieur)
suivant
make_randomize=strnewpass
fonction de fin
%>
Générez une image du code de sécurité. Bien sûr, vous devez préparer une image de fond à l'avance
<%random_num=make_randomize(4,1) pour générer un code de sécurité à 4 chiffres
session("random_num")=random_num Pourquoi appeler session ? Cela n'a aucun sens sans le code de sécurité de la session. Haha
Set Jpeg = Server.CreateObject("Persits.Jpeg") appelle le composant
Jpeg.Open Server.MapPath("infos/random_pic/random_index.gif") Ouvrez l'image préparée
Jpeg.Canvas.Font.Color = &H006699
Jpeg.Canvas.Font.Family = "Arial Noir"
Jpeg.Canvas.Font.Bold = faux
Jpeg.Canvas.PrintText 0, -2, random_num
jpeg.save Server.MapPath("infos/random_pic/random_index.bmp") sauvegarder
%> <img src="infos/random_pic/random_index.bmp" border="0" align="absmiddle">
Faites-le vous-même. héhé.
4. Découpe d'images
Pendant longtemps, les gens qui ne connaissaient pas aspjpeg pensaient qu'ils ne pouvaient pas l'utiliser pour couper.
En fait, il existe une telle méthode
recadrer x1,y1,x2,y2
Coupez la coordonnée x du coin supérieur gauche du rectangle et la coordonnée y du coin inférieur droit du rectangle. Je vais faire une démonstration ci-dessous.
Définir Jpeg = Server.CreateObject("Persits.Jpeg")
jpeg.open server.MapPath("/pic/1.gif")
jpeg.largeur=70
Jpeg.Hauteur = Jpeg.OriginalHeight*70 / jpeg.Originawidth
jpeg.crop 0,0,70,52 Commencer à couper consiste en fait à supprimer la partie inférieure qui dépasse 52 pixels.
jpeg.save server.MapPath("/temp_pic/small_1.gif") Que diriez-vous de sauvegarder C'est très simple ?
5. Fusion d'images
Ici, nous allons ajouter l'image du logo à l'image dodge_viper.jpg. En fait, la méthode de fusion d'images peut également être utilisée pour ajouter dynamiquement des filigranes.
Définir Photo = Server.CreateObject("Persits.Jpeg")
PhotoPath = Server.MapPath("images") & "dodge_viper.jpg"
Photo.Ouvrir PhotoPath
Définir le logo = Server.CreateObject("Persits.Jpeg")
LogoPath = Server.MapPath("images") & "clock.jpg"
Logo.Ouvrir LogoPath
Logo.Largeur = 70
Logo.Height = Logo.Width * Logo.OriginalHeight / Logo.OriginalWidth
Photo.DrawImage 0, 0, Logo
Photo.SendBinary La méthode de sortie de sendBinary est utilisée ici. Bien sûr, vous pouvez également enregistrer d'abord le dodge_viper.jpg modifié, puis le saisir. Personnellement, je n'aime pas utiliser la méthode sendBinary car elle est sujette aux erreurs lorsque la vitesse du réseau est lente. Pas grand chose en termes de vitesse non plus. héhé.
6. Prise en charge des bases de données
Je n'entrerai pas dans les détails ici. En fait, il s'agit de la méthode binaire. Comme nous le savons tous, les images ne peuvent être stockées sous forme de fichiers binaires que lorsqu'elles sont stockées dans la base de données. Le code a donc été écrit paresseusement.
7. Plus de méthodes pour introduire
Canvas.Line (Gauche, Haut, Droite, Bas)
tracer une ligne droite
Canvas.Ellipse (Gauche, Haut, Droite, Bas)
dessiner une ellipse
Canvas.Circle (X, Y, Rayon)
dessiner un cercle
Canvas.Bar (Gauche, Haut, Droite, Bas)
Dessinez un rectangle avec le code introduit dessus
Canvas.Font.ShadowColor
couleur de l'ombre du texte
Canvas.Font.ShadowXOffset aussi longtemps
Paramétrage des coordonnées Shadow X
Canvas.Font.ShadowYOffset aussi longtemps
Réglage des coordonnées Y
Canvas.Font.BkMode en tant que chaîne
arrière-plan du texte
Auteur de cet article : Yulang Cet article est réimprimé et les droits d'auteur appartiennent à l'auteur original.