Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
15 / 15
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
Image
100.00% covered (success)
100.00%
15 / 15
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
1 / 1
 write
100.00% covered (success)
100.00%
15 / 15
100.00% covered (success)
100.00%
1 / 1
2
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\RTF\Element;
20
21use PhpOffice\PhpWord\Element\Image as ImageElement;
22use PhpOffice\PhpWord\Shared\Converter;
23
24/**
25 * Image element RTF writer.
26 *
27 * @since 0.11.0
28 */
29class Image extends AbstractElement
30{
31    /**
32     * Write element.
33     *
34     * @return string
35     */
36    public function write()
37    {
38        if (!$this->element instanceof ImageElement) {
39            return '';
40        }
41
42        $this->getStyles();
43        $style = $this->element->getStyle();
44
45        $content = '';
46        $content .= $this->writeOpening();
47        $content .= '{\*\shppict {\pict';
48        $content .= '\pngblip\picscalex100\picscaley100';
49        $content .= '\picwgoal' . round(Converter::pixelToTwip($style->getWidth()));
50        $content .= '\pichgoal' . round(Converter::pixelToTwip($style->getHeight()));
51        $content .= PHP_EOL;
52        $content .= $this->element->getImageStringData();
53        $content .= '}}';
54        $content .= $this->writeClosing();
55
56        return $content;
57    }
58}