Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
12 / 12
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
Image
100.00% covered (success)
100.00%
12 / 12
100.00% covered (success)
100.00%
1 / 1
3
100.00% covered (success)
100.00%
1 / 1
 write
100.00% covered (success)
100.00%
12 / 12
100.00% covered (success)
100.00%
1 / 1
3
1<?php
2
3/**
4 * This file is part of PHPWord - A pure PHP library for reading and writing
5 * word processing documents.
6 *
7 * PHPWord is free software distributed under the terms of the GNU Lesser
8 * General Public License version 3 as published by the Free Software Foundation.
9 *
10 * For the full copyright and license information, please read the LICENSE
11 * file that was distributed with this source code. For the full list of
12 * contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
13 *
14 * @see         https://github.com/PHPOffice/PHPWord
15 *
16 * @license     http://www.gnu.org/licenses/lgpl.txt LGPL version 3
17 */
18
19namespace PhpOffice\PhpWord\Writer\HTML\Element;
20
21use PhpOffice\PhpWord\Element\Image as ImageElement;
22use PhpOffice\PhpWord\Writer\HTML\Style\Image as ImageStyleWriter;
23
24/**
25 * Image element HTML writer.
26 *
27 * @since 0.10.0
28 */
29class Image extends Text
30{
31    /**
32     * Write image.
33     *
34     * @return string
35     */
36    public function write()
37    {
38        if (!$this->element instanceof ImageElement) {
39            return '';
40        }
41        $content = '';
42        $imageData = $this->element->getImageStringData(true);
43        if ($imageData !== null) {
44            $styleWriter = new ImageStyleWriter($this->element->getStyle());
45            $style = $styleWriter->write();
46            $imageData = 'data:' . $this->element->getImageType() . ';base64,' . $imageData;
47
48            $content .= $this->writeOpening();
49            $content .= "<img border=\"0\" style=\"{$style}\" src=\"{$imageData}\"/>";
50            $content .= $this->writeClosing();
51        }
52
53        return $content;
54    }
55}