Fix loading drawing size (#2492)
This commit is contained in:
parent
06ea9ead2b
commit
dbaafba6c6
|
|
@ -1257,8 +1257,8 @@ class Xlsx extends BaseReader
|
||||||
$objDrawing->setOffsetX((int) Drawing::EMUToPixels($oneCellAnchor->from->colOff));
|
$objDrawing->setOffsetX((int) Drawing::EMUToPixels($oneCellAnchor->from->colOff));
|
||||||
$objDrawing->setOffsetY(Drawing::EMUToPixels($oneCellAnchor->from->rowOff));
|
$objDrawing->setOffsetY(Drawing::EMUToPixels($oneCellAnchor->from->rowOff));
|
||||||
$objDrawing->setResizeProportional(false);
|
$objDrawing->setResizeProportional(false);
|
||||||
$objDrawing->setWidth(Drawing::EMUToPixels(self::getArrayItem((int) self::getAttributes($oneCellAnchor->ext), 'cx')));
|
$objDrawing->setWidth(Drawing::EMUToPixels(self::getArrayItem(self::getAttributes($oneCellAnchor->ext), 'cx')));
|
||||||
$objDrawing->setHeight(Drawing::EMUToPixels(self::getArrayItem((int) self::getAttributes($oneCellAnchor->ext), 'cy')));
|
$objDrawing->setHeight(Drawing::EMUToPixels(self::getArrayItem(self::getAttributes($oneCellAnchor->ext), 'cy')));
|
||||||
if ($xfrm) {
|
if ($xfrm) {
|
||||||
$objDrawing->setRotation((int) Drawing::angleToDegrees(self::getArrayItem(self::getAttributes($xfrm), 'rot')));
|
$objDrawing->setRotation((int) Drawing::angleToDegrees(self::getArrayItem(self::getAttributes($xfrm), 'rot')));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheetTests\Reader\Xlsx;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Worksheet\BaseDrawing;
|
||||||
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
|
class DrawingOneCellAnchorTest extends TestCase
|
||||||
|
{
|
||||||
|
public function testGetDrawing(): void
|
||||||
|
{
|
||||||
|
$filename = __DIR__ . '/../../../data/Reader/XLSX/drawingOneCellAnchor.xlsx';
|
||||||
|
$reader = IOFactory::createReader('Xlsx');
|
||||||
|
$spreadsheet = $reader->load($filename);
|
||||||
|
$worksheet = $spreadsheet->getActiveSheet();
|
||||||
|
$collection = $worksheet->getDrawingCollection();
|
||||||
|
self::assertCount(1, $collection);
|
||||||
|
|
||||||
|
/** @var BaseDrawing $drawing */
|
||||||
|
$drawing = $collection[0];
|
||||||
|
self::assertEquals('A2', $drawing->getCoordinates());
|
||||||
|
self::assertEquals(10, $drawing->getOffsetX());
|
||||||
|
self::assertEquals(10, $drawing->getOffsetY());
|
||||||
|
self::assertEquals(150, $drawing->getHeight());
|
||||||
|
self::assertEquals(150, $drawing->getWidth());
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Loading…
Reference in New Issue