Página de recepción AJAX e interacción

2023-01-24   EN  

Código frontal -end:

<body> 
     <Form Method = "Post" Action = "ProcessFileUp.ashx" enctype = "multipart/form-data" >> 
         <input type = "file" name = "fileUp" /> 
         <input type = "enviar" valor = "cargar" /> 
     </form> 
 </body>

dibujo básico:

ANÁLISIS DE CÓDIGO DE VENTACIÓN:

0. Establecer cita:

using System.Drawing;

1. Crear un lienzo

// Crear un lienzo 
 Usando (mapa de mapa de bits = nuevo mapa de bits (300,400))

2. Crea un cepillo

// Crear un pincel para el lienzo 
 Usando (gráficos g = gráficos.FromImage (MAP))

3. Borre el lienzo y complete el color especificado (equivalente al lienzo inicializado)

// Borrar el lienzo y completar el color especificado 
 G.Clear (color.white);

4. Hay muchos métodos en el lienzo (hay muchos métodos, como gráficos de dibujo, escritura, etc. Este ejemplo proporciona operaciones de escritura)

// 1. ¿Qué palabras escriben? 
 // 2. estilo de fuente 
 // 3. ¿Qué color llena la fuente? 
 // 4. Dónde escribir en el lienzo 
 G.DrawString ("Wryyyyyyyy!", New Font ("Black Body", 14.0f, FontStyle.regular), Brushes.orange, New Pointf (150, 200));

5. Guarde el lienzo en una imagen y especifique el tipo de imagen

// cambie el nombre del archivo 
 cadena filename = guía.newguid (). toString (); 
 // Guardar el lienzo en una imagen y especificar el tipo de imagen 
 map.save (context.request.mappath ("/imageUpload/" + filename + ". jpg"), system.drawing.imaging.imageformat.jpeg); 
 Context.response.write (<html> <body> <img src = '/imageUpload/" + nombre de archivo +" .jpg'/body> </html> ");););;

Resultados:

Código completo:

usando el sistema; 
 usando System.Collections.gneric; 
 usando System.Linq; 
 usando System.Web; 
 usando System.Drawing; 

 espacio de nombres 
 {{ 
     /// <summary> 
     /// Makeimage Abstract 
     /// </summary> 
     MAKEIMAGE DE LA CLASE PÚBLICA: ihttphandler 
     {{ 

         Public void ProcessRequest (contexto httpContextext) 
         {{ 
             context.Response.ContentType = "text/html"; 
             // crear una imagen para los usuarios y guardar 
             // crear un lienzo 
             Usando (mapa de mapa de bits = nuevo mapa de bits (300,400)) 
             {{ 
                 // crear un cepillo para el lienzo 
                 Usando (gráficos g = gráficos.FromImage (MAP)) 
                 {{ 
                     // borrar el lienzo y completar el color especificado 
                     G.Clear (color.white); 
                     // 1. Qué palabras escriben 
                     // 2. estilo de fuente 
                     // 3. ¿Qué color llena la fuente? 
                     // 4. Dónde escribir en el lienzo 
                     G.DrawString ("Wryyyyyyyy!", New Font ("Black Body", 14.0f, FontStyle.regular), Brushes.orange, New Pointf (150, 200)); 

                     // cambie el nombre del archivo 
                     cadena filename = guía.newguid (). toString (); 
                     // Guardar el lienzo en una imagen y especificar el tipo de imagen 
                     map.save (context.request.mappath ("/imageUpload/" + filename + ". jpg"), system.drawing.imaging.imageformat.jpeg); 
                     Context.response.write (<html> <body> <img src = '/imageUpload/" + nombre de archivo +" .jpg'/body> </html> ");););; 
                 } 
             } 
         } 

         Público bool isreusable 
         {{ 
             conseguir 
             {{ 
                 Falso retorno; 
             } 
         } 
     } 
 }

Agregar marca de agua a la imagen:

De hecho, la operación y el dibujo son casi los mismos, pero el dibujo se coloca en un lienzo, y la marca de agua es poner la imagen para la imagen, lo que significa que la imagen se usa como un lienzo aquí.

1. Obtenga la imagen, hay dos formas:

Obtenga de acuerdo con la transmisión del archivo de imagen:

Usar (imagen img = image.fromstream (file.inputstream)) // Obtener la imagen de acuerdo con los datos de transmisión del archivo de la imagen

Según el camino físico de la imagen:

Usar (imagen img = image.FromFile (context.request.mappath (fultir))) //

2. Cree un lienzo, pero dado que los lienzos se usan como una imagen, el tamaño del lienzo debe ser consistente con la imagen:

usando

3. Crea un cepillo para el lienzo:

Usar (Graphics G = Graphics.FromImage (MAP)) // Crear un pincel para el lienzo

4. Ahora acabo de crear un lienzo vacío. Este paso necesita “dibujar” la imagen en el lienzo:

g.drawimage (img, 0,0, img.width, img.head); // Use un cepillo para dibujar imágenes en el lienzo, dibuje la imagen completa en la esquina superior izquierda del lienzo al lienzo en el lienzo en el lienzo en el lienzo

5. Marca de agua, guardar fotos, mostrar la imagen:

g.drawimage (img, 0,0, img.width, img.head); // Use un cepillo para dibujar imágenes en el lienzo, dibuje la imagen completa en la esquina superior izquierda del lienzo al lienzo en el lienzo en el lienzo en el lienzo 
 G.DrawString ("Ko No Dio da!", Nueva fuente ("Body Black Body", 14.0f, FontStyle.regular), Brushes. Orange, New Pointf (MAP.Width-100, MAP.head-25)); / / / Agregar palabras en la imagen 
 string waterimageName = "water_" + guía.newguid (). toString (); 
 Map.save (context.request.mappath ("/imageUpload/" +waterageName +". Jpg"), system.drawing.imaging.imageformat.jpeg); 
 Context.response.write ("<html> <body> <img src = '/imageupload/" + waterimageName + ".jpg'/> </html>" "); // fulldir contiene la carpeta actual, por lo tanto, no es necesario para agregar antes

source

Related Posts

Alibaba Cloud Director Druring the Live Broadcast, Optimice el retraso y el problema de la claridad al ver la transmisión en vivo

[HDU -1005] Secuencia de número (Matrix Fast Power)

Implementar el clúster K8s e informe de error solución perfecta

Linux CentOS7 Implementar Zabbix (construcción ambiental)

Página de recepción AJAX e interacción

Random Posts

Implementación anti -confonvolutiva de Tensorflow

KVC Introducción

El componente Vue es la diferencia entre el registro local y global

Lista de recopilación El mismo objeto (uno o más atributos) en la colección de atributos Devuelve la lista y se clasifica y sale PSY de acuerdo con el atributo del objeto

¿Cómo implementar dubbo? ¿Cómo construir un centro de monitoreo Dubbo? Intersección