¿Cómo utilizar ASP para generar directamente un formato de imagen a partir de un formato de texto?
Categoría: Computadora/Red >> Programación >> Otros lenguajes de programación
Descripción del problema:
Para cifrar el contenido de mis artículos publicados, Espero que no se copien. Puede generar imágenes directamente a partir del contenido del artículo.
Análisis:
Puedes usar el componente ASP JPEG para hacerlo. Primero puedes hacer una imagen con algo relacionado con el LOGO de tu sitio web y luego escribir el texto en ella. El siguiente método se recopiló antes, puede consultarlo.
aspjpeg es un componente de procesamiento de imágenes muy potente, versión puramente en inglés. Sin embargo, ya existen versiones gratuitas y versiones descifradas, pero no hay muchos artículos que las presenten en detalle y en profundidad. Incluso si las hay, solo involucran miniaturas de imágenes y marcas de agua. Quizás sea porque está en inglés puro.
Aquí hablaré sobre el uso avanzado de aspjpeg en función de estos problemas. Las tecnologías aquí incluyen principalmente:
Miniaturas de imágenes
Marcas de agua de imágenes
Tecnología de código de seguridad
Corte de imágenes
Fusión de imágenes
Soporte de base de datos
Se introducen métodos más poco comunes
y algunas tecnologías prácticas relacionadas
El único defecto de aspjpeg El único problema es que el método de salida es relativamente simple. Aquí, hablamos principalmente de este método de salida que guarda el procesamiento de la imagen y luego lo llama. Además, soy vago, por lo que todavía se citan algunos códigos de los documentos originales y, de vez en cuando, explicaré lo que no entiendo.
Los camaradas que hayan estudiado VB o VB definitivamente lo entenderán de un vistazo. Se acerca el cepillo. jeje.
1. Miniaturas de imágenes
<%
Establecer Jpeg = Server.CreateObject("Persits.Jpeg") Llamar al componente
Ruta = Server.MapPath("images") & "\clock" La ruta de la imagen a procesar
Jpeg.Open Path abre la imagen
La altura y el ancho son 1/ 2 de la imagen original
Jpeg.Width = Jpeg.OriginalWidth / 2
Jpeg.Height = Jpeg.OriginalHeight / 2
Guardar imagen
Jpeg.Save Server.MapPath("imágenes") & "\clock_ *** todo"
%>
Ver la imagen procesada
2. Marca de agua de la imagen
<%
Establecer Jpeg = Server.CreateObject("Persits.Jpeg")
Abrir Server.MapPath("images/dodge_viper")
Empezar a escribir texto
Jpeg.Canvas.Font.Color = &000000' color rojo
Jpeg.Canvas .Font.Family = fuente "Courier New"
Jpeg.Canvas.Font.Bold = Verdadero si se pone en negrita
Jpeg.Canvas.Print 10, 10 , "Copyright (c) XYZ, Inc."
Coordenada de impresión x Coordenada de impresión y Caracteres a imprimir
El siguiente es el procesamiento de bordes de la imagen
Jpeg.Canvas.Pen.Color = &H000000' color negro
Jpeg.Canvas.Pen.Width = 2 anchos de pincel
Jpeg.Canvas.Brush.Solid = False Si se pone en negrita
Jpeg.Canvas.Bar 1, 1, Jpeg.Width, Jpeg.Height
Coordenada X inicial Coordenada Y inicial entrada longitud entrada altura
Jpeg.Save Server.MapPath(" images/dodge_viper_framed") Guardar
%>
3. Código de seguridad
El principio del código de seguridad es similar a agregar muchas marcas de agua. Mis amigos me piden el código específico de tecnología, lo escribiré aquí para compartirlo con ustedes, pero no se lo contaré a la mayoría de la gente. jeje.
<%
Función knowsky que genera códigos de seguridad
función make_randomize(max_len,w_n) max_len genera longitud, w_n: 0 puede contener letras, 1: solo para números
aleatorizar
para intcounter=1 a max_len
whatnext=int((1-1)*rnd+w_n)
si lo siguiente=0 entonces
superior=122
inferior=97
más
superior=57
lower=48
end if
strnewpass=strnewpass & chr(int((upper-lower+1)*rnd)+lower)
siguiente
make_randomize=strnewpass
función final
%>
Genera una imagen del código de seguridad. Por supuesto, debes preparar una imagen de fondo con anticipación
<%random_num=make_randomize(4,1) genera un código de seguridad de 4 dígitos
session("random_num")=random_num Por qué llamar a una sesión sin el código de seguridad de la sesión no tiene ningún sentido. Jaja
Set Jpeg = Server.CreateObject("Persits.Jpeg") Llamar al componente
Jpeg.Open Server.MapPath("infos/random_pic/random_index.gif") Abra el preparado Imagen
Jpeg.Canvas.Font.Color = &H006699
Jpeg.Canvas.Font.Family = "Arial Black"
Jpeg.Canvas.Font.Bold = false
Jpeg.Canvas.PrintText 0, -2, random_num
jpeg.save Server.MapPath("infos/random_pic/random_index.bmp") Guardar
%>
Hágalo usted mismo. jeje.
4. Recorte de imágenes
Las personas que no conocen aspjpeg siempre han pensado que no pueden usarlo para cortar.
En realidad existe tal método
recortar x1,y1,x2,y2
Corta la coordenada x de la esquina superior izquierda del rectángulo y la Coordenada y de la esquina inferior derecha del rectángulo Coordenada y coordenada
Déjame darte una demostración
Set Jpeg = Server.CreateObject("Persits.Jpeg")
jpeg.open server.MapPath ("/pic/1.gif")
jpeg.width=70
Jpeg.Height = Jpeg.OriginalHeight*70 / jpeg. Originawidth
jpeg .crop 0,0,70,52 Empezar a cortar es en realidad eliminar la parte inferior que supera los 52 píxeles
jpeg.save server.MapPath("/temp_pic/ *** all_1.gif") Guardar
¿Qué te parece? Es muy simple, ¿verdad?
5. Fusión de imágenes
Aquí vamos a agregar el imagen del logotipo a la imagen de dodge_viper
En realidad, el método de fusión de imágenes también se puede utilizar para marcas de agua dinámicas
Set Photo = Server.CreateObject("Persits.Jpeg")
PhotoPath = Server.MapPath("imágenes") & "\dodge_viper"
Photo.Open PhotoPath
Establecer logotipo = Server.CreateObject("Persits.Jpeg")
LogoPath = Server.MapPath(" imágenes") & "\clock"
Logo.Open LogoPath
Logo.Width = 70
Logo.Height = Logo.Width * Logo.OriginalHeight / Logo.OriginalWidth
Photo.DrawImage 0, 0, Logo
Photo.SendBinary Aquí se utiliza el método de salida sendBinary. Por supuesto, también puedes guardar el dodge_viper modificado primero y luego ingresarlo. Personalmente, no me gusta usar el método sendBinary porque es propenso a errores cuando la velocidad de la red es lenta. Tampoco mucho en términos de velocidad. jeje.
6. Soporte de bases de datos
No hay mucho que decir aquí. De hecho, es el método binario. Como todos sabemos, las imágenes solo se pueden almacenar como archivos binarios cuando se almacenan en la base de datos. Entonces el código se escribió de manera perezosa.
7. Introducción a más métodos
Canvas.Line(Left, Top, Right, Bottom)
Dibuja una línea recta
Canvas .Ellipse(Izquierda, Arriba, Derecha, Abajo)
Dibujar una elipse
Canvas.Circle(X, Y, Radio)
Dibujar un círculo
Canvas.Bar(Izquierda, Superior, Derecha, Inferior)
Dibuja un rectángulo, el código se presenta arriba
Canvas.Font.ShadowColor
p>
Color de sombra del texto
Canvas.Font.ShadowXOffset As Long
Configuración de coordenadas de sombra X
Canvas.Font.ShadowYOffset As Long
p>
Configuración de coordenadas Y
Canvas.Font.BkMode As String
Fondo del texto
Autor de este artículo: Yulang
Esta es una reimpresión y los derechos de autor pertenecen al autor original