angular - Kako spriječiti skaliranje teksta prilikom promjene veličine tekstualnog okvira s fabricjs


Nov sam u FabricJs-u i moja zabrinutost se odnosi na promjenu veličine tekstualnog okvira - imam sljedeće rješenje koje omogućuje promjenu veličine tekstualnog okvira okomito i vodoravno, ali ne istovremeno. Pokušavao sam pronaći rješenje koje čini oboje u isto vrijeme bez promjene veličine teksta. Možete li mi, molim vas, pomoći pronaći rješenje?

Evo poveznice na moj primjer na jsfiddle: http://jsfiddle.net/vstefani/s7yfu93w/27/

var canvas = new fabric.Canvas('canvas');
canvas.setWidth(500);
canvas.setHeight(500);

var myText = new fabric.Textbox("Some text", {
  width: 100,
  height: 100,
  top: 100,
  left: 100,
  fontSize: 20,
  textAlign: 'center',
  fontFamily: 'Arial',
  padding: 2,
});
canvas.add(myText);

let lastHeight: number;
const updateTextSize = () => {
  const controlPoint = myText.__corner;

  if (controlPoint && controlPoint !== 'mr' && controlPoint !== 'ml') {
    lastHeight = myText.height * myText.scaleY;
  }

  myText.set({
    height: lastHeight || myText.height,
    scaleY: 1,
  });
};

myText.on('scaling', updateTextSize);
myText.on('editing:entered', updateTextSize);
myText.on('text:changed', updateTextSize);

Odgovor #1

Čini se da kontrolne točke 'mr' i 'ml' nisu pokrenute događajem 'skaliranje', nego događajem 'promjena veličine'.

Rješenje (koje meni funkcionira) je dodati :

textbox.on('resizing', updateTextSize);