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?
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"), p>
__context=("2d");
=_
=(,);
/__img1_tu celosía
(img1,,0,0,,);
/__img2_tu celosía
(img1,,0,,);
/___Send_Chen_Caryl_Kap p>
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 p>
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.