2015-07-28 8 views
5

Próbuję utworzyć tekst javascript wewnątrz canvas i chcę, aby był wyrównany do środka, działa dobrze w Chrome i Firefox, ale zachowuje się dziwnie w IE, tutaj jest KodWłaściwość textAlign w Canvas HTML5 nie działa poprawnie w IE 11

ctx.drawImage(background,space,0,500,500); 

    ctx.fillStyle="#FFF"; 
    ctx.font="40px Droid Arabic Kufi"; 
    ctx.textAlign = 'center'; 
    ctx.direction = 'rtl'; 
    ctx.textBaseline = 'middle';   
    if (x == '') {x = 'شعورك تجاه بيتك سيظهر هنا'} 
    firstLineHeight = wrapText(ctx, x, 250, 200, 400, lineHeight); 
    ctx.font="20px Droid Arabic Kufi"; 
    if (ss == '') {sss = 'من: اسمك سيظهر هنا'} 
    else {sss = 'من: ' + ss} 
    wrapText(ctx, sss, 250, 250+((firstLineHeight-1)*30), 400, lineHeight); 



    function wrapText(context, text, x, y, maxWidth, lineHeight) { 

    var words = text.split(' '); 
    var line = ''; 
    linesCount = 1; 
    for(var n = 0; n < words.length; n++) { 
    var testLine = line + words[n] + ' '; 
    var metrics = context.measureText(testLine); 
    var testWidth = metrics.width; 
     if (testWidth > maxWidth && n > 0) { 
      context.fillText(line, x, y); 
      line = words[n] + ' '; 
      y += lineHeight; 
      linesCount++; 
     } 
     else { 
      line = testLine; 
     } 
    } 

    context.fillText(line, x, y+10); 
    return linesCount; 

} 

Here is a link here

Edited (ekranu):

Chrome

IE

+0

która wersja IE jesteś odprawy? – sam100rav

+0

IE 11 @ sam100rav –

+0

Wygląda dobrze dla mnie ... możesz być bardziej konkretny. Zawsze możesz pokazać nam zrzut ekranu z zaznaczoną częścią. – sam100rav

Odpowiedz

0

testu to:

<canvas id="myCanvas" dir="rtl"></canvas>

użycie dir="rtl" bezpośrednio w elemencie canvas ..

+0

Musiałem zmusić go do pozostania LTR '' – woutvdd