Red de conocimiento informático - Material del sitio web - ¿Cómo utilizar ASP para generar directamente un formato de imagen a partir de un formato de texto?

¿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