1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace PhpOffice\PhpSpreadsheetTests\Functional; |
4
|
|
|
|
5
|
|
|
use PhpOffice\PhpSpreadsheet\Cell\Hyperlink; |
6
|
|
|
use PhpOffice\PhpSpreadsheet\Spreadsheet; |
7
|
|
|
use PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing; |
8
|
|
|
|
9
|
|
|
class DrawingImageHyperlinkTest extends AbstractFunctional |
10
|
|
|
{ |
11
|
|
|
public function testDrawingImageHyperlinkTest() |
12
|
|
|
{ |
13
|
|
|
$baseUrl = 'https://github.com/PHPOffice/PhpSpreadsheet'; |
14
|
|
|
$spreadsheet = new Spreadsheet(); |
15
|
|
|
|
16
|
|
|
$aSheet = $spreadsheet->getActiveSheet(); |
17
|
|
|
|
18
|
|
|
$gdImage = @imagecreatetruecolor(120, 20); |
19
|
|
|
$textColor = imagecolorallocate($gdImage, 255, 255, 255); |
20
|
|
|
imagestring($gdImage, 1, 5, 5, 'Created with PhpSpreadsheet', $textColor); |
21
|
|
|
|
22
|
|
|
$drawing = new MemoryDrawing(); |
23
|
|
|
$drawing->setName('In-Memory image 1'); |
24
|
|
|
$drawing->setDescription('In-Memory image 1'); |
25
|
|
|
$drawing->setCoordinates('A1'); |
26
|
|
|
$drawing->setImageResource($gdImage); |
27
|
|
|
$drawing->setRenderingFunction( |
28
|
|
|
MemoryDrawing::RENDERING_JPEG |
29
|
|
|
); |
30
|
|
|
$drawing->setMimeType(MemoryDrawing::MIMETYPE_DEFAULT); |
31
|
|
|
$drawing->setHeight(36); |
32
|
|
|
$hyperLink = new Hyperlink($baseUrl, 'test image'); |
33
|
|
|
$drawing->setHyperlink($hyperLink); |
34
|
|
|
$drawing->setWorksheet($aSheet); |
35
|
|
|
|
36
|
|
|
$reloadedSpreadsheet = $this->writeAndReload($spreadsheet, 'Xlsx'); |
37
|
|
|
|
38
|
|
|
foreach ($reloadedSpreadsheet->getActiveSheet()->getDrawingCollection() as $pDrawing) { |
39
|
|
|
self::assertEquals('https://github.com/PHPOffice/PhpSpreadsheet', $pDrawing->getHyperlink()->getUrl(), 'functional test drawing hyperlink'); |
40
|
|
|
} |
41
|
|
|
} |
42
|
|
|
} |
43
|
|
|
|