Sukhpal Singh
Sukhpal Singh

Reputation: 29

Want to convert canvas into svg image at run time with text formating

I am putting text in textbox and selecting shape to fit into. For now I am getting canvas image that is not too clear. I am planing to change my canvas into SVG image format.

For Example here I want to convert this canvas into svg image

var ctx = demo.getContext('2d'),
    font = '64px impact',
    w = demo.width,
    h = demo.height,
    curve,
    offsetY,
    bottom,
    textHeight,
    angleSteps = 180 / w,
    i = w,
    y,
    os = document.createElement('canvas'),
    octx = os.getContext('2d');

os.width = w;
os.height = h;

octx.font = font;
octx.textBaseline = 'top';
octx.textAlign = 'center';

function renderBridgeText() {

    curve = parseInt(iCurve.value, 10);
    offsetY = parseInt(iOffset.value, 10);
    textHeight = parseInt(iHeight.value, 10);
    bottom = parseInt(iBottom.value, 10);

    vCurve.innerHTML = curve;
    vOffset.innerHTML = offsetY;
    vHeight.innerHTML = textHeight;
    vBottom.innerHTML = bottom;

    octx.clearRect(0, 0, w, h);
    ctx.clearRect(0, 0, w, h);

    octx.fillText(iText.value, w * 0.5, 0);

    /// slide and dice
    i = w;
    while (i--) {
        y = bottom - (curve) * Math.sin(i * angleSteps * Math.PI / 180);
        ctx.drawImage(os, i, offsetY, 1, textHeight,
        i, offsetY, 1, y);
    }
}

iCurve.onchange = iOffset.onchange = iHeight.onchange = iBottom.onchange = iText.onkeyup = renderBridgeText;

renderBridgeText()

Upvotes: 1

Views: 58

Answers (0)

Related Questions