Red de conocimiento informático - Material del sitio web - Código de exportación de lienzos de dibujo en línea: ¿Cómo imprimir y exportar pdf de gráficos dibujados a través de lienzo en HTML5?

Código de exportación de lienzos de dibujo en línea: ¿Cómo imprimir y exportar pdf de gráficos dibujados a través de lienzo en HTML5?

Cómo dibujar dos imágenes en el lienzo a través del lienzo en HTML5 y luego exportar la imagen grande

lt;img_rc="....."_d="img1"/gt;

lt;img_rc="....."_d="img2"/gt;

lt;img_d="img3"/gt;

var_mg1 =("img1 "),

__img2=("img2"),

__img3=("img3");

var_anvas=("lienzo"),

__context=("2d");

=_

=(,);

/__img1_tu celosía

(img1,,0,0,,);

/__img2_tu celosía

(img1,,0,,);

/___Send_Chen_Caryl_Kap

var_rc=();

=_rc;

lt;pgt;drawImage_Neon_Coat_Me_Pepper?

lt;a_ref="" /gt; ¿El lienzo agrega código?

1. API utilizada por la implementación nativa del lienzo

1) getContext(contextID): devuelve el entorno utilizado para dibujar en el lienzo

Copia el código El código es el siguiente: ('2d')//Devuelve un objeto CanvasRenderingContext2D, mediante el cual puedes dibujar en el elemento lienzo

2)drawImage

drawImage(imgObj, x, y)// Según el tamaño de la imagen original, x, y es la coordenada de posición de la imagen en el lienzo drawImage(imgObj, x, y, width, height)//drawImage(imgObj, sourceX, sourceY, sourceWidth, sourceHeight, destX, destY, destWidth, destHeight) //Dibuja el tamaño de la imagen original, x, y es el lienzo.

destWidth, destHeight) // Comience desde una determinada posición (sourceX, sourceY) en la imagen original, especifique la longitud y el ancho del corte (sourceWidth, sourceHeight) y luego coloque el contenido cortado en la posición (destX, destY), ancho (destWidth), alto (destHeight)

3) getImageData(x, y, ancho, alto): obtiene la información de la imagen del área rectangular

(0, 0, 10, 10)//Obtiene la información de la imagen de la esquina superior izquierda, las coordenadas son (0, 0), el ancho y alto del área

(0, 0, 10, 10)// Devolver ImageData: {ancho: 10, alto: 10, datos: Uint8ClampedArray

("image/png", 1)

2.

Simplifica la escritura de la biblioteca del lienzo y proporciona información faltante para el modelo de objeto del lienzo

Puedo hacer esto

1) Crear y rellenar gráficos (incluidas imágenes, texto, gráficos normales y gráficos formados por rutas complejas ) en el lienzo

2) Rellene los gráficos con color degradado

3) Combine gráficos (incluidos gráficos combinados, texto gráfico, imágenes, etc. Utilice API para implementar el uso

1) Declarar lienzo

letcanvas=new('canvas'){ancho: 200, alto: 200}

1) Declarar lienzo

letcanvas=new('canvas'){ancho: 200, alto: 200}

2) Rellene los gráficos con color degradado

3) Combine gráficos (incluidos gráficos combinados, texto e imágenes) , etc.)

4) Configurar la interacción del usuario Conjunto de animación gráfica

5) Generar datos JSON, SVG, etc.

Insertar imagen

letimgInstance=new(imgElement, {izquierda: 0, arriba: 0, ancho: 100, alto: 100, ángulo: 0}

3) Establecer la imagen de fondo setBackgroundImage

(imgInstance)

4) renderAll() redibujar

5) on() interacción del usuario

('mouse: down', function(options){(options.e.clientX, options.e.clientY)})//escuchar eventos

6)getPointer()

7)setWidth(), setHeight() establece el ancho y alto del lienzo

8) Dibuja un rectángulo

letrect=new({left: 0, top: 0 , ancho: 100, alto: 100})

add(obj)Agregar gráficos

(rect)

10)remove(obj)Eliminar gráficos

11)set() establece el contenido del objeto

12)toDataURL(obj)

4. Plantilla de código de implementación del lienzo local

lt; gt; lt ;divclass="contenedor"gt;lt;divclass="acción"gt;lt;ulgt;lt;li@click="mosaic"gt;mosaic/ligt;lt;li@click="addText"gt; agregar textolt ;/ligt;lt;li@click="tailor"gt;Croplt;/ligt;lt;li@click="rotate"gt;Rotatelt;/ligt;lt;li@click="Exportar imagen"gt; Exportar imagenlt;/ligt;lt;/ulgt;lt;/divgt;lt;canvasref="imgContent"class="img-wrap"gt;Tu navegador es demasiado lentolt;/canvasgt;lt;/divgt ;lt;/templategt ;lt;scriptgt;exportdefault{data(){return{context:'',canvas:'',isMasic:false,isText:false,isTailor:false,isTranslate:false,squareEdgeLength:20,angle: 0, img: ' '}}, montado(){()}, métodos: {initData(){letimgContent=this.$=imgContent=(' 2d')letImg=newImage()=Img="Anonymous"='

'('ancho',)('alto',)letself=this=()=gt; {letbeginX, beginY, endX, endY(Img, 0, 0)()(' mousedown', e=gt; {beginX=e.offset 0))offsetYif(){(beginX,beginY,endX

-beginX, endY-beginY)return}}if(){(Img, BeginX, BeginY, endX-beginX, endY-beginY, 0, 0, endX-beginX, endY-beginY)return}}})}}}, drawRect(x,y,ancho,alto,fillStyle,lineWidth,strokeStyle,globalAlpha){()(x,y,width,height)=lineWidth=strokeStylefillStyleamp;(=fillStyle) globalAlphaamp;amp;(=globalAlpha)( )( )}, //mosaico mosaico(){letself=this()=true}, makeGrid(beginX, beginY, rectWidth, rectHight){constrow= (rectWidth/) 1constcolumn=(rectHight/) 1for(leti=0; ilt; fila*columna; i ){letx=(irow)* comenzarXlety=parseInt(i/fila)* comenzarY(x, y)}}, setColor(x, y){constimgData=(x, y,,). 0, g=0, b=0((x,y,,),(imgData))for(leti=0;ilt;;i=4){r=imgData.include()){//( 'Ancho ',)//('Alto',)// }else{//('ancho',)//('alto',)//}constx=/2consty=/2(0, 0,, ​​)/ / Borrar contenido del lienzo (x, y) (90*/180) (-x, -y) (, 0, 0)}, resetClickStatus(){=false=false= false=false}, exportImg(){ () constexportUrl=("image/jpeg")leta=('a')a.setAttribute('download','')a.href=exportUrl(a)a.click()}}}lt; stylescopedlang="less"gt;.operaciones{ancho: 1200px; margen: 0auto; ul{pantalla: flex; align-items: center; margen inferior: 30px; cursor: puntero; }}}.img-wrap{display: block; margin: 0auto;}lt;/stylegt;html5 ¿Cómo imprimir y exportar gráficos dibujados en lienzo a pdf?

JScriptcodevarcanvas=("mycanvas");

varimg=("imagen/png");

('lt; imgsrc="' img '" /gt;');

La impresión es cuestión del navegador. La llamada JS también es una función del navegador. En este caso, presione CTRL P para manejarlo directamente. En cuanto al PDF, cárguelo en el software e imprímalo a través del software para generar PDF.

Si desea utilizar código puro para exportar PDF en HTML5, no puede lograrlo.