diff --git a/samples/Basic2/25_In_memory_image.php b/samples/Basic2/25_In_memory_image.php index 60bbfb551..521275ce9 100644 --- a/samples/Basic2/25_In_memory_image.php +++ b/samples/Basic2/25_In_memory_image.php @@ -28,7 +28,7 @@ $spreadsheet->getProperties()->setCreator('Maarten Balliauw') // Generate an image $helper->log('Generate an image'); -$gdImage = imagecreatetruecolor(120, 20); +$gdImage = imagecreatetruecolor(150, 20); if (!$gdImage) { throw new Exception('Cannot Initialize new GD image stream'); } diff --git a/src/PhpSpreadsheet/Writer/Ods/Content.php b/src/PhpSpreadsheet/Writer/Ods/Content.php index 3aa741ba5..3397e96c2 100644 --- a/src/PhpSpreadsheet/Writer/Ods/Content.php +++ b/src/PhpSpreadsheet/Writer/Ods/Content.php @@ -441,7 +441,12 @@ class Content extends WriterPart $prevColumn = $column; } - // Write any remaining drawings that don't have cells + // Write any remaining drawings that don't have cells. + // I don't know how to trigger the if condition below, + // and would prefer to eliminate the code and have + // someone raise an issue rather than have them + // execute unpredictable code. + /* foreach ($drawingsByColumn as $column => $drawingData) { if ($column > $prevColumn) { $this->writeCellSpan($objWriter, $column, $prevColumn); @@ -458,6 +463,7 @@ class Content extends WriterPart $prevColumn = $column; } } + */ } /** diff --git a/src/PhpSpreadsheet/Writer/Ods/Drawing.php b/src/PhpSpreadsheet/Writer/Ods/Drawing.php index 406e65670..f93269e03 100644 --- a/src/PhpSpreadsheet/Writer/Ods/Drawing.php +++ b/src/PhpSpreadsheet/Writer/Ods/Drawing.php @@ -18,7 +18,9 @@ class Drawing extends WriterPart private int $imageCounter = 0; /** - * Required by WriterPart abstract class. + * Required by WriterPart abstract class, but unused. + * + * @codeCoverageIgnore */ public function write(): string { @@ -62,46 +64,31 @@ class Drawing extends WriterPart $this->imageFiles[$imagePath] = $imageContents; } } elseif ($drawing instanceof MemoryDrawing) { + $renderingFunction = $drawing->getRenderingFunction(); $extension = 'png'; - switch ($drawing->getRenderingFunction()) { - case MemoryDrawing::RENDERING_JPEG: - $extension = 'jpg'; - - break; - case MemoryDrawing::RENDERING_GIF: - $extension = 'gif'; - - break; + if ($renderingFunction === MemoryDrawing::RENDERING_JPEG) { + $extension = 'jpg'; + } elseif ($renderingFunction === MemoryDrawing::RENDERING_GIF) { + $extension = 'gif'; } - ob_start(); $gdImage = $drawing->getImageResource(); if ($gdImage !== null) { - switch ($drawing->getRenderingFunction()) { - case MemoryDrawing::RENDERING_JPEG: - imagejpeg($gdImage); - - break; - case MemoryDrawing::RENDERING_GIF: - imagegif($gdImage); - - break; - //case MemoryDrawing::RENDERING_PNG: - default: - imagepng($gdImage); - - break; + ob_start(); + if ($renderingFunction === MemoryDrawing::RENDERING_JPEG) { + imagejpeg($gdImage); + } elseif ($renderingFunction === MemoryDrawing::RENDERING_GIF) { + imagegif($gdImage); + } else { + imagepng($gdImage); } - $imageContents = ob_get_contents(); - ob_end_clean(); + $imageContents = ob_get_clean(); if ($imageContents !== false && $imageContents !== '') { $imagePath = "Pictures/image{$this->imageCounter}.{$extension}"; $drawings[$imagePath] = $imageContents; $this->imageFiles[$imagePath] = $imageContents; } - } else { - ob_end_clean(); } } } @@ -128,15 +115,11 @@ class Drawing extends WriterPart if ($drawing instanceof WorksheetDrawing) { $extension = $drawing->getExtension(); } elseif ($drawing instanceof MemoryDrawing) { - switch ($drawing->getRenderingFunction()) { - case MemoryDrawing::RENDERING_JPEG: - $extension = 'jpg'; - - break; - case MemoryDrawing::RENDERING_GIF: - $extension = 'gif'; - - break; + $renderingFunction = $drawing->getRenderingFunction(); + if ($renderingFunction === MemoryDrawing::RENDERING_JPEG) { + $extension = 'jpg'; + } elseif ($renderingFunction === MemoryDrawing::RENDERING_GIF) { + $extension = 'gif'; } }