How to insert input text into image?

前端 未结 1 1464
名媛妹妹
名媛妹妹 2020-12-09 06:13

I want to develop extension for magento which help to create custom t-shirt but i don\'t know how to do it.I want to provide functionality like this site http://www.inkpi

相关标签:
1条回答
  • 2020-12-09 06:38

    You can do it so simply with canvas

    var canvas = document.createElement('canvas'),
    	  ctx = canvas.getContext('2d');
    
    canvas.width  = 200;
    canvas.height = 200;
    document.body.appendChild(canvas);
    
    function sendToCanvas( ob ){
      var img = new Image();
      img.addEventListener('load', function(){
        ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
        ctx.font = ob.fontWeight+' '+ob.fontSize+' '+ob.fontFamily;
        ctx.textAlign = 'center';
        ctx.fillStyle = ob.color;
        ctx.fillText(ob.text, canvas.width/2, canvas.height/2.5);
      });
      img.src = ob.image;
    }
    
    // Defaults
    var cvsObj = {
        text       : "stackoverflow",
        image      : "http://i.imgur.com/hqayV16.jpg",
        fontFamily : "Arial",
        fontWeight : "bold",
        fontSize   : "90%",
        color      : "rgba(244, 128, 36, 0.7)"
    };
    
    sendToCanvas( cvsObj ); // Send default data on init
    
    document.getElementById("text").addEventListener("input", function(){
      cvsObj.text = this.value; // Modify cvsObj text
      sendToCanvas( cvsObj );   // Send custom data on input
    });
    
     
    Text: <input id="text" type="text"><br>

    Right click and Save as :) !

    0 讨论(0)
提交回复
热议问题