1
1
<?php
2
2
3
- use marijnvdwerf \ palette \ ImagickHistogramGenerator ;
3
+ use Intervention \ Image \ ImageManager ;
4
4
use marijnvdwerf \palette \Palette ;
5
5
use marijnvdwerf \palette \Swatch ;
6
6
7
7
require 'vendor/autoload.php ' ;
8
8
9
- $ histogramGenerator = new ImagickHistogramGenerator ();
10
- $ colorQuantizer = new \marijnvdwerf \palette \ColorCutQuantizer ();
9
+ ?>
10
+ <style type="text/css">
11
+ body {
12
+ font-family: Roboto, sans-serif;
13
+ }
11
14
15
+ * {
16
+ margin: 0;
17
+ padding: 0;
18
+ box-sizing: border-box;
19
+ }
12
20
13
- $ files = scandir ('./specs/artwork ' );
14
- foreach ($ files as $ file ) {
15
- if ($ file [0 ] === '. ' ) {
16
- continue ;
17
- }
21
+ .swatch {
22
+ padding: 15px;
23
+ list-style-type: none;
24
+ }
25
+
26
+ .swatch__color {
27
+ float: right;
28
+ }
18
29
19
- $ image = new Imagick ('./specs/artwork/ ' . $ file );
30
+ .album {
31
+ width: 320px;
32
+ }
33
+ </style>
20
34
21
- $ image ->sampleImage (100 , 100 );
35
+ <?php
36
+ $ basePath = './specs/artwork ' ;
37
+ $ files = scandir ($ basePath );
22
38
23
- $ image ->setFormat ('png ' );
39
+ $ manager = new ImageManager (array ('driver ' => 'imagick ' ));
40
+ foreach ($ files as $ filename ) {
41
+ if ($ filename [0 ] === '. ' ) {
42
+ continue ;
43
+ }
24
44
25
- $ swatches = $ histogramGenerator -> generate ( $ image );
45
+ $ image = $ manager -> make ( $ basePath . ' / ' . $ filename );
26
46
27
- $ swatches = $ colorQuantizer -> quantize ( $ swatches , 16 );
47
+ $ palette = Palette:: generate ( $ image );
28
48
29
- //$palette = Palette::generate($swatches);
30
49
31
- echo '<h1> ' . $ file . '</h1> ' ;
32
- echo "<img src='data:image/png;base64, " . base64_encode ($ image ->getImageBlob ()) . "' /> " ;
33
- printSwatches ($ swatches );
50
+ echo '<div class="album"> ' ;
51
+ echo "<img src='data:image/png;base64, " . base64_encode ($ image ->encode ('png ' )) . "' /> " ;
52
+ echo '<h1> ' . $ filename . '</h1> ' ;
53
+ printPalette ($ palette );
54
+ //printSwatches($swatches);
55
+ echo '</div> ' ;
34
56
}
35
57
36
58
@@ -61,7 +83,7 @@ function printPalette(Palette $palette)
61
83
62
84
$ swatchName = implode (' ' , array_filter ([$ v2 , $ v1 ]));
63
85
if ($ swatch !== null ) {
64
- echo sprintf ('<li class="swatch" style="background-color: %s">%s </li> ' , $ swatch ->getColor (), $ swatchName );
86
+ echo sprintf ('<li class="swatch" style="background-color: %1$ s"><span class="swatch__name">%2$s</span> <span class="swatch__color">%1$s</span> </li> ' , $ swatch ->getColor (), $ swatchName );
65
87
} else {
66
88
echo sprintf ('<li class="swatch swatch--empty">%s</li> ' , $ swatchName );
67
89
}
@@ -70,3 +92,4 @@ function printPalette(Palette $palette)
70
92
}
71
93
echo '</ul> ' ;
72
94
}
95
+
0 commit comments