@@ -454,6 +454,20 @@ public function writeShapeTxt(XMLWriter $objWriter, RichText $shape): void
454
454
$ objWriter ->writeAttribute ('svg:height ' , Text::numberFormat (CommonDrawing::pixelsToCentimeters ($ shape ->getHeight ()), 3 ) . 'cm ' );
455
455
$ objWriter ->writeAttribute ('svg:x ' , Text::numberFormat (CommonDrawing::pixelsToCentimeters ($ shape ->getOffsetX ()), 3 ) . 'cm ' );
456
456
$ objWriter ->writeAttribute ('svg:y ' , Text::numberFormat (CommonDrawing::pixelsToCentimeters ($ shape ->getOffsetY ()), 3 ) . 'cm ' );
457
+ if ($ shape ->getRotation () != 0 ) {
458
+ $ rotRad = deg2rad ($ shape ->getRotation ());
459
+
460
+ $ translateX = Text::numberFormat (CommonDrawing::pixelsToCentimeters ($ shape ->getWidth () / 2 ), 3 ). 'cm ' ;
461
+ $ translateY = Text::numberFormat (CommonDrawing::pixelsToCentimeters ($ shape ->getOffsetX () / 2 ), 3 ). 'cm ' ;
462
+ $ objWriter ->writeAttribute (
463
+ 'draw:transform ' ,
464
+ 'rotate (- ' .$ rotRad .') ' .
465
+ 'translate ( ' .
466
+ $ translateX .
467
+ '- ' . $ translateY
468
+ .') '
469
+ );
470
+ }
457
471
// draw:text-box
458
472
$ objWriter ->startElement ('draw:text-box ' );
459
473
@@ -593,6 +607,38 @@ public function writeShapeTxt(XMLWriter $objWriter, RichText $shape): void
593
607
}
594
608
}
595
609
610
+ if ($ shape ->getRotation () != 0 ) {
611
+ $ objWriter ->startElement ('draw:enhanced-geometry ' );
612
+ $ objWriter ->writeAttribute ('draw:mirror-horizontal ' , 'false ' );
613
+ $ objWriter ->writeAttribute ('draw:mirror-vertical ' , 'false ' );
614
+ $ objWriter ->writeAttribute ('svg:viewBox ' , '0 0 0 0 ' );
615
+ $ objWriter ->writeAttribute ('draw:text-areas ' , '0 0 ?f3 ?f2 ' );
616
+ $ objWriter ->writeAttribute ('draw:type ' , 'ooxml-rect ' );
617
+ $ objWriter ->writeAttribute ('draw:enhanced-path ' , 'M 0 0 L ?f3 0 ?f3 ?f2 0 ?f2 Z N ' );
618
+
619
+ $ objWriter ->startElement ('draw:equation ' );
620
+ $ objWriter ->writeAttribute ('draw:name ' , 'f0 ' );
621
+ $ objWriter ->writeAttribute ('draw:formula ' , 'logwidth/2 ' );
622
+ $ objWriter ->endElement ();
623
+
624
+ $ objWriter ->startElement ('draw:equation ' );
625
+ $ objWriter ->writeAttribute ('draw:name ' , 'f1 ' );
626
+ $ objWriter ->writeAttribute ('draw:formula ' , 'logheight/2 ' );
627
+ $ objWriter ->endElement ();
628
+
629
+ $ objWriter ->startElement ('draw:equation ' );
630
+ $ objWriter ->writeAttribute ('draw:name ' , 'f2 ' );
631
+ $ objWriter ->writeAttribute ('draw:formula ' , 'logheight ' );
632
+ $ objWriter ->endElement ();
633
+
634
+ $ objWriter ->startElement ('draw:equation ' );
635
+ $ objWriter ->writeAttribute ('draw:name ' , 'f3 ' );
636
+ $ objWriter ->writeAttribute ('draw:formula ' , 'logwidth ' );
637
+ $ objWriter ->endElement ();
638
+
639
+ $ objWriter ->endElement ();
640
+ }
641
+
596
642
// > draw:text-box
597
643
$ objWriter ->endElement ();
598
644
// > draw:frame
0 commit comments