Passed
Push — master ( 4f13bc...123cfe )
by Sebastian
02:27
created
src/ImageHelper.php 1 patch
Indentation   +429 added lines, -429 removed lines patch added patch discarded remove patch
@@ -68,54 +68,54 @@  discard block
 block discarded – undo
68 68
     
69 69
     const ERROR_UNEXPECTED_COLOR_VALUE = 513025;
70 70
 
71
-   /**
72
-    * @var string
73
-    */
71
+    /**
72
+     * @var string
73
+     */
74 74
     protected $file;
75 75
 
76
-   /**
77
-    * @var ImageHelper_Size
78
-    */
76
+    /**
77
+     * @var ImageHelper_Size
78
+     */
79 79
     protected $info;
80 80
 
81
-   /**
82
-    * @var string
83
-    */
81
+    /**
82
+     * @var string
83
+     */
84 84
     protected $type;
85 85
 
86
-   /**
87
-    * @var resource|NULL
88
-    */
86
+    /**
87
+     * @var resource|NULL
88
+     */
89 89
     protected $newImage;
90 90
 
91
-   /**
92
-    * @var resource
93
-    */
91
+    /**
92
+     * @var resource
93
+     */
94 94
     protected $sourceImage;
95 95
 
96
-   /**
97
-    * @var int
98
-    */
96
+    /**
97
+     * @var int
98
+     */
99 99
     protected $width;
100 100
 
101
-   /**
102
-    * @var int
103
-    */
101
+    /**
102
+     * @var int
103
+     */
104 104
     protected $height;
105 105
 
106
-   /**
107
-    * @var int
108
-    */
106
+    /**
107
+     * @var int
108
+     */
109 109
     protected $newWidth = 0;
110 110
 
111
-   /**
112
-    * @var int
113
-    */
111
+    /**
112
+     * @var int
113
+     */
114 114
     protected $newHeight = 0;
115 115
 
116
-   /**
117
-    * @var int
118
-    */
116
+    /**
117
+     * @var int
118
+     */
119 119
     protected $quality = 85;
120 120
     
121 121
     protected static $imageTypes = array(
@@ -203,17 +203,17 @@  discard block
 block discarded – undo
203 203
         }
204 204
     }
205 205
 
206
-   /**
207
-    * Factory method: creates a new helper with a blank image.
208
-    * 
209
-    * @param integer $width
210
-    * @param integer $height
211
-    * @param string $type The target file type when saving
212
-    * @return ImageHelper
213
-    * @throws ImageHelper_Exception
214
-    *
215
-    * @see ImageHelper::ERROR_CANNOT_CREATE_IMAGE_OBJECT
216
-    */
206
+    /**
207
+     * Factory method: creates a new helper with a blank image.
208
+     * 
209
+     * @param integer $width
210
+     * @param integer $height
211
+     * @param string $type The target file type when saving
212
+     * @return ImageHelper
213
+     * @throws ImageHelper_Exception
214
+     *
215
+     * @see ImageHelper::ERROR_CANNOT_CREATE_IMAGE_OBJECT
216
+     */
217 217
     public static function createNew($width, $height, $type='png')
218 218
     {
219 219
         $img = imagecreatetruecolor($width, $height);
@@ -228,18 +228,18 @@  discard block
 block discarded – undo
228 228
         );
229 229
     }
230 230
     
231
-   /**
232
-    * Factory method: creates an image helper from an
233
-    * existing image resource.
234
-    *
235
-    * Note: while the resource is type independent, the
236
-    * type parameter is required for some methods, as well
237
-    * as to be able to save the image.
238
-    *
239
-    * @param resource $resource
240
-    * @param string $type The target image type, e.g. "jpeg", "png", etc.
241
-    * @return ImageHelper
242
-    */
231
+    /**
232
+     * Factory method: creates an image helper from an
233
+     * existing image resource.
234
+     *
235
+     * Note: while the resource is type independent, the
236
+     * type parameter is required for some methods, as well
237
+     * as to be able to save the image.
238
+     *
239
+     * @param resource $resource
240
+     * @param string $type The target image type, e.g. "jpeg", "png", etc.
241
+     * @return ImageHelper
242
+     */
243 243
     public static function createFromResource($resource, ?string $type=null)
244 244
     {
245 245
         self::requireResource($resource);
@@ -247,29 +247,29 @@  discard block
 block discarded – undo
247 247
         return new ImageHelper(null, $resource, $type);
248 248
     }
249 249
     
250
-   /**
251
-    * Factory method: creates an image helper from an
252
-    * image file on disk.
253
-    *
254
-    * @param string $path
255
-    * @return ImageHelper
256
-    */
250
+    /**
251
+     * Factory method: creates an image helper from an
252
+     * image file on disk.
253
+     *
254
+     * @param string $path
255
+     * @return ImageHelper
256
+     */
257 257
     public static function createFromFile($file)
258 258
     {
259 259
         return new ImageHelper($file);
260 260
     }
261 261
     
262
-   /**
263
-    * Sets a global image helper configuration value. Available
264
-    * configuration settings are:
265
-    * 
266
-    * <ul>
267
-    * <li><code>auto-memory-adjustment</code> <i>boolean</i> Whether totry and adjust the memory limit automatically so there will be enough to load/process the target image.</li>
268
-    * </ul>
269
-    * 
270
-    * @param string $name
271
-    * @param mixed $value
272
-    */
262
+    /**
263
+     * Sets a global image helper configuration value. Available
264
+     * configuration settings are:
265
+     * 
266
+     * <ul>
267
+     * <li><code>auto-memory-adjustment</code> <i>boolean</i> Whether totry and adjust the memory limit automatically so there will be enough to load/process the target image.</li>
268
+     * </ul>
269
+     * 
270
+     * @param string $name
271
+     * @param mixed $value
272
+     */
273 273
     public static function setConfig($name, $value)
274 274
     {
275 275
         if(isset(self::$config[$name])) {
@@ -277,22 +277,22 @@  discard block
 block discarded – undo
277 277
         }
278 278
     }
279 279
     
280
-   /**
281
-    * Shorthand for setting the automatic memory adjustment
282
-    * global configuration setting.
283
-    * 
284
-    * @param bool $enabled
285
-    */
280
+    /**
281
+     * Shorthand for setting the automatic memory adjustment
282
+     * global configuration setting.
283
+     * 
284
+     * @param bool $enabled
285
+     */
286 286
     public static function setAutoMemoryAdjustment($enabled=true)
287 287
     {
288 288
         self::setConfig('auto-memory-adjustment', $enabled);
289 289
     }
290 290
     
291
-   /**
292
-    * Duplicates an image resource.
293
-    * @param resource $img
294
-    * @return resource
295
-    */
291
+    /**
292
+     * Duplicates an image resource.
293
+     * @param resource $img
294
+     * @return resource
295
+     */
296 296
     protected function duplicateImage($img)
297 297
     {
298 298
         self::requireResource($img);
@@ -304,12 +304,12 @@  discard block
 block discarded – undo
304 304
         return $duplicate;
305 305
     }
306 306
     
307
-   /**
308
-    * Duplicates the current state of the image into a new
309
-    * image helper instance.
310
-    * 
311
-    * @return ImageHelper
312
-    */
307
+    /**
308
+     * Duplicates the current state of the image into a new
309
+     * image helper instance.
310
+     * 
311
+     * @return ImageHelper
312
+     */
313 313
     public function duplicate()
314 314
     {
315 315
         return ImageHelper::createFromResource($this->duplicateImage($this->newImage));
@@ -497,13 +497,13 @@  discard block
 block discarded – undo
497 497
         ));
498 498
     }
499 499
     
500
-   /**
501
-    * Resamples the image to a new width, maintaining
502
-    * aspect ratio.
503
-    * 
504
-    * @param int $width
505
-    * @return ImageHelper
506
-    */
500
+    /**
501
+     * Resamples the image to a new width, maintaining
502
+     * aspect ratio.
503
+     * 
504
+     * @param int $width
505
+     * @return ImageHelper
506
+     */
507 507
     public function resampleByWidth(int $width) : ImageHelper
508 508
     {
509 509
         $size = $this->getSizeByWidth($width);
@@ -513,12 +513,12 @@  discard block
 block discarded – undo
513 513
         return $this;
514 514
     }
515 515
 
516
-   /**
517
-    * Resamples the image by height, and creates a new image file on disk.
518
-    * 
519
-    * @param int $height
520
-    * @return ImageHelper
521
-    */
516
+    /**
517
+     * Resamples the image by height, and creates a new image file on disk.
518
+     * 
519
+     * @param int $height
520
+     * @return ImageHelper
521
+     */
522 522
     public function resampleByHeight($height) : ImageHelper
523 523
     {
524 524
         $size = $this->getSizeByHeight($height);
@@ -526,13 +526,13 @@  discard block
 block discarded – undo
526 526
         return $this->resampleImage($size->getWidth(), $size->getHeight());
527 527
     }
528 528
 
529
-   /**
530
-    * Resamples the image without keeping the aspect ratio.
531
-    * 
532
-    * @param int $width
533
-    * @param int $height
534
-    * @return ImageHelper
535
-    */
529
+    /**
530
+     * Resamples the image without keeping the aspect ratio.
531
+     * 
532
+     * @param int $width
533
+     * @param int $height
534
+     * @return ImageHelper
535
+     */
536 536
     public function resample(?int $width = null, ?int $height = null) : ImageHelper
537 537
     {
538 538
         if($this->isVector()) {
@@ -597,12 +597,12 @@  discard block
 block discarded – undo
597 597
     
598 598
     protected $alpha = false;
599 599
 
600
-   /**
601
-    * Configures the specified image resource to make it alpha compatible.
602
-    * 
603
-    * @param resource $canvas
604
-    * @param bool $fill Whether to fill the whole canvas with the transparency
605
-    */
600
+    /**
601
+     * Configures the specified image resource to make it alpha compatible.
602
+     * 
603
+     * @param resource $canvas
604
+     * @param bool $fill Whether to fill the whole canvas with the transparency
605
+     */
606 606
     public static function addAlphaSupport($canvas, $fill=true)
607 607
     {
608 608
         self::requireResource($canvas);
@@ -717,12 +717,12 @@  discard block
 block discarded – undo
717 717
         $this->quality = $quality * 1;
718 718
     }
719 719
 
720
-   /**
721
-    * Attempts to adjust the memory to the required size
722
-    * to work with the current image.
723
-    * 
724
-    * @return boolean
725
-    */
720
+    /**
721
+     * Attempts to adjust the memory to the required size
722
+     * to work with the current image.
723
+     * 
724
+     * @return boolean
725
+     */
726 726
     protected function adjustMemory() : bool
727 727
     {
728 728
         if(!self::$config['auto-memory-adjustment']) {
@@ -762,27 +762,27 @@  discard block
 block discarded – undo
762 762
         return false;
763 763
     }
764 764
 
765
-   /**
766
-    * Stretches the image to the specified dimensions.
767
-    * 
768
-    * @param int $width
769
-    * @param int $height
770
-    * @return ImageHelper
771
-    */
765
+    /**
766
+     * Stretches the image to the specified dimensions.
767
+     * 
768
+     * @param int $width
769
+     * @param int $height
770
+     * @return ImageHelper
771
+     */
772 772
     public function stretch(int $width, int $height) : ImageHelper
773 773
     {
774 774
         return $this->resampleImage($width, $height);
775 775
     }
776 776
 
777
-   /**
778
-    * Creates a new image from the current image,
779
-    * resampling it to the new size.
780
-    * 
781
-    * @param int $newWidth
782
-    * @param int $newHeight   
783
-    * @throws ImageHelper_Exception
784
-    * @return ImageHelper
785
-    */
777
+    /**
778
+     * Creates a new image from the current image,
779
+     * resampling it to the new size.
780
+     * 
781
+     * @param int $newWidth
782
+     * @param int $newHeight   
783
+     * @throws ImageHelper_Exception
784
+     * @return ImageHelper
785
+     */
786 786
     protected function resampleImage(int $newWidth, int $newHeight) : ImageHelper
787 787
     {
788 788
         if($this->isVector()) {
@@ -922,31 +922,31 @@  discard block
 block discarded – undo
922 922
         readfile($imageFile);
923 923
     }
924 924
     
925
-   /**
926
-    * Displays the current image.
927
-    */
925
+    /**
926
+     * Displays the current image.
927
+     */
928 928
     public function display()
929 929
     {
930 930
         $this->displayImageStream($this->newImage, $this->getType(), $this->resolveQuality());
931 931
     }
932 932
     
933
-   /**
934
-    * Trims the current loaded image.
935
-    * 
936
-    * @param array $color A color definition, as an associative array with red, green, and blue keys. If not specified, the color at pixel position 0,0 will be used.
937
-    */
933
+    /**
934
+     * Trims the current loaded image.
935
+     * 
936
+     * @param array $color A color definition, as an associative array with red, green, and blue keys. If not specified, the color at pixel position 0,0 will be used.
937
+     */
938 938
     public function trim($color=null)
939 939
     {
940 940
         return $this->trimImage($this->newImage, $color);
941 941
     }
942 942
     
943
-   /**
944
-    * Retrieves a color definition by its index.
945
-    * 
946
-    * @param resource $img A valid image resource.
947
-    * @param int $colorIndex The color index, as returned by imagecolorat for example.
948
-    * @return array An array with red, green, blue and alpha keys.
949
-    */
943
+    /**
944
+     * Retrieves a color definition by its index.
945
+     * 
946
+     * @param resource $img A valid image resource.
947
+     * @param int $colorIndex The color index, as returned by imagecolorat for example.
948
+     * @return array An array with red, green, blue and alpha keys.
949
+     */
950 950
     public function getIndexedColors($img, int $colorIndex) : array
951 951
     {
952 952
         $color = imagecolorsforindex($img, $colorIndex);
@@ -964,14 +964,14 @@  discard block
 block discarded – undo
964 964
         );
965 965
     }
966 966
         
967
-   /**
968
-    * Trims the specified image resource by removing the specified color.
969
-    * Also works with transparency.
970
-    * 
971
-    * @param resource $img
972
-    * @param array $color A color definition, as an associative array with red, green, blue and alpha keys. If not specified, the color at pixel position 0,0 will be used.
973
-    * @return ImageHelper
974
-    */
967
+    /**
968
+     * Trims the specified image resource by removing the specified color.
969
+     * Also works with transparency.
970
+     * 
971
+     * @param resource $img
972
+     * @param array $color A color definition, as an associative array with red, green, blue and alpha keys. If not specified, the color at pixel position 0,0 will be used.
973
+     * @return ImageHelper
974
+     */
975 975
     protected function trimImage($img, ?array $color=null) : ImageHelper
976 976
     {
977 977
         if($this->isVector()) {
@@ -1059,12 +1059,12 @@  discard block
 block discarded – undo
1059 1059
         return $this;
1060 1060
     }
1061 1061
     
1062
-   /**
1063
-    * Sets the new image after a transformation operation:
1064
-    * automatically adjusts the new size information.
1065
-    * 
1066
-    * @param resource $image
1067
-    */
1062
+    /**
1063
+     * Sets the new image after a transformation operation:
1064
+     * automatically adjusts the new size information.
1065
+     * 
1066
+     * @param resource $image
1067
+     */
1068 1068
     protected function setNewImage($image)
1069 1069
     {
1070 1070
         self::requireResource($image);
@@ -1074,12 +1074,12 @@  discard block
 block discarded – undo
1074 1074
         $this->newHeight= imagesy($image);
1075 1075
     }
1076 1076
     
1077
-   /**
1078
-    * Requires the subject to be a resource.
1079
-    * 
1080
-    * @param resource $subject
1081
-    * @throws ImageHelper_Exception
1082
-    */
1077
+    /**
1078
+     * Requires the subject to be a resource.
1079
+     * 
1080
+     * @param resource $subject
1081
+     * @throws ImageHelper_Exception
1082
+     */
1083 1083
     protected static function requireResource($subject)
1084 1084
     {
1085 1085
         if(is_resource($subject)) {
@@ -1096,14 +1096,14 @@  discard block
 block discarded – undo
1096 1096
         );
1097 1097
     }
1098 1098
     
1099
-   /**
1100
-    * Creates a new image resource, with transparent background.
1101
-    * 
1102
-    * @param int $width
1103
-    * @param int $height
1104
-    * @throws ImageHelper_Exception
1105
-    * @return resource
1106
-    */
1099
+    /**
1100
+     * Creates a new image resource, with transparent background.
1101
+     * 
1102
+     * @param int $width
1103
+     * @param int $height
1104
+     * @throws ImageHelper_Exception
1105
+     * @return resource
1106
+     */
1107 1107
     protected function createNewImage(int $width, int $height)
1108 1108
     {
1109 1109
         $img = imagecreatetruecolor($width, $height);
@@ -1122,54 +1122,54 @@  discard block
 block discarded – undo
1122 1122
         return $img;
1123 1123
     }
1124 1124
     
1125
-   /**
1126
-    * Whether the two specified colors are the same.
1127
-    * 
1128
-    * @param array $a
1129
-    * @param array $b
1130
-    * @return boolean
1131
-    */
1132
-	protected function colorsMatch($a, $b) : bool
1133
-	{
1134
-		$parts = array('red', 'green', 'blue');
1135
-		foreach($parts as $part) {
1136
-			if($a[$part] != $b[$part]) {
1137
-				return false;
1138
-			}
1139
-		} 
1125
+    /**
1126
+     * Whether the two specified colors are the same.
1127
+     * 
1128
+     * @param array $a
1129
+     * @param array $b
1130
+     * @return boolean
1131
+     */
1132
+    protected function colorsMatch($a, $b) : bool
1133
+    {
1134
+        $parts = array('red', 'green', 'blue');
1135
+        foreach($parts as $part) {
1136
+            if($a[$part] != $b[$part]) {
1137
+                return false;
1138
+            }
1139
+        } 
1140 1140
 		
1141
-		return true;
1142
-	}
1141
+        return true;
1142
+    }
1143 1143
 	
1144
-	public function fillWhite($x=0, $y=0)
1145
-	{
1146
-	    $this->addRGBColor('white', 255, 255, 255);
1144
+    public function fillWhite($x=0, $y=0)
1145
+    {
1146
+        $this->addRGBColor('white', 255, 255, 255);
1147 1147
         return $this->fill('white', $x, $y);
1148
-	}
1148
+    }
1149 1149
 	
1150
-	public function fillTransparent() : ImageHelper
1151
-	{
1150
+    public function fillTransparent() : ImageHelper
1151
+    {
1152 1152
         $this->enableAlpha();
1153 1153
 	    
1154
-	    self::fillImageTransparent($this->newImage);
1154
+        self::fillImageTransparent($this->newImage);
1155 1155
 	    
1156
-	    return $this;
1157
-	}
1156
+        return $this;
1157
+    }
1158 1158
 	
1159
-	public static function fillImageTransparent($resource)
1160
-	{
1161
-	    self::requireResource($resource);
1159
+    public static function fillImageTransparent($resource)
1160
+    {
1161
+        self::requireResource($resource);
1162 1162
 	    
1163
-	    $transparent = imagecolorallocatealpha($resource, 89, 14, 207, 127);
1164
-	    imagecolortransparent ($resource, $transparent);
1165
-	    imagefill($resource, 0, 0, $transparent);
1166
-	}
1163
+        $transparent = imagecolorallocatealpha($resource, 89, 14, 207, 127);
1164
+        imagecolortransparent ($resource, $transparent);
1165
+        imagefill($resource, 0, 0, $transparent);
1166
+    }
1167 1167
 	
1168
-	public function fill($colorName, $x=0, $y=0)
1169
-	{
1170
-	    imagefill($this->newImage, $x, $y, $this->colors[$colorName]);
1171
-	    return $this;
1172
-	}
1168
+    public function fill($colorName, $x=0, $y=0)
1169
+    {
1170
+        imagefill($this->newImage, $x, $y, $this->colors[$colorName]);
1171
+        return $this;
1172
+    }
1173 1173
 	
1174 1174
     protected $colors = array();
1175 1175
 
@@ -1190,9 +1190,9 @@  discard block
 block discarded – undo
1190 1190
         return $this;
1191 1191
     }
1192 1192
     
1193
-   /**
1194
-    * @return resource
1195
-    */
1193
+    /**
1194
+     * @return resource
1195
+     */
1196 1196
     public function getImage()
1197 1197
     {
1198 1198
         return $this->newImage;
@@ -1210,27 +1210,27 @@  discard block
 block discarded – undo
1210 1210
         return $this;
1211 1211
     }
1212 1212
     
1213
-   /**
1214
-    * Retrieves the size of the image.
1215
-    * 
1216
-    * @param bool $exception Whether to trigger an exception when the image does not exist
1217
-    * @return ImageHelper_Size
1218
-    * @throws ImageHelper_Exception
1219
-    * @see ImageHelper::ERROR_CANNOT_GET_IMAGE_SIZE
1220
-    */
1221
-	public function getSize() : ImageHelper_Size
1213
+    /**
1214
+     * Retrieves the size of the image.
1215
+     * 
1216
+     * @param bool $exception Whether to trigger an exception when the image does not exist
1217
+     * @return ImageHelper_Size
1218
+     * @throws ImageHelper_Exception
1219
+     * @see ImageHelper::ERROR_CANNOT_GET_IMAGE_SIZE
1220
+     */
1221
+    public function getSize() : ImageHelper_Size
1222 1222
     {
1223
-	    return self::getImageSize($this->newImage);
1223
+        return self::getImageSize($this->newImage);
1224 1224
     }
1225 1225
     
1226 1226
     protected $TTFFile;
1227 1227
     
1228
-   /**
1229
-    * Sets the TTF font file to use for text operations.
1230
-    * 
1231
-    * @param string $filePath
1232
-    * @return ImageHelper
1233
-    */
1228
+    /**
1229
+     * Sets the TTF font file to use for text operations.
1230
+     * 
1231
+     * @param string $filePath
1232
+     * @return ImageHelper
1233
+     */
1234 1234
     public function setFontTTF($filePath)
1235 1235
     {
1236 1236
         $this->TTFFile = $filePath;
@@ -1302,63 +1302,63 @@  discard block
 block discarded – undo
1302 1302
             return;
1303 1303
         }
1304 1304
         
1305
-	    throw new ImageHelper_Exception(
1305
+        throw new ImageHelper_Exception(
1306 1306
             'No true type font specified',
1307 1307
             'This functionality requires a TTF font file to be specified with the [setFontTTF] method.',
1308 1308
             self::ERROR_NO_TRUE_TYPE_FONT_SET    
1309 1309
         );
1310 1310
     }
1311 1311
     
1312
-   /**
1313
-	 * Retrieves the size of an image file on disk, or
1314
-	 * an existing image resource.
1315
-	 *
1316
-	 * <pre>
1317
-	 * array(
1318
-	 *     0: (width),
1319
-	 *     1: (height),
1320
-	 *     "channels": the amount of channels
1321
-	 *     "bits": bits per channel
1312
+    /**
1313
+     * Retrieves the size of an image file on disk, or
1314
+     * an existing image resource.
1315
+     *
1316
+     * <pre>
1317
+     * array(
1318
+     *     0: (width),
1319
+     *     1: (height),
1320
+     *     "channels": the amount of channels
1321
+     *     "bits": bits per channel
1322 1322
      * )     
1323
-	 * </pre>
1324
-	 *
1325
-	 * @param string|resource $pathOrResource
1326
-	 * @return ImageHelper_Size Size object, can also be accessed like the traditional array from getimagesize
1327
-	 * @see ImageHelper_Size
1328
-	 * @throws ImageHelper_Exception
1329
-	 * @see ImageHelper::ERROR_CANNOT_GET_IMAGE_SIZE
1330
-	 * @see ImageHelper::ERROR_CANNOT_READ_SVG_IMAGE
1331
-	 * @see ImageHelper::ERROR_SVG_SOURCE_VIEWBOX_MISSING
1332
-	 * @see ImageHelper::ERROR_SVG_VIEWBOX_INVALID
1333
-	 */
1334
-	public static function getImageSize($pathOrResource) : ImageHelper_Size
1335
-	{
1336
-	    if(is_resource($pathOrResource)) 
1337
-	    {
1338
-	        return new ImageHelper_Size(array(
1339
-	            'width' => imagesx($pathOrResource),
1340
-	            'height' => imagesy($pathOrResource),
1341
-	            'channels' => 1,
1342
-	            'bits' => 8
1343
-	        ));
1344
-	    }
1323
+     * </pre>
1324
+     *
1325
+     * @param string|resource $pathOrResource
1326
+     * @return ImageHelper_Size Size object, can also be accessed like the traditional array from getimagesize
1327
+     * @see ImageHelper_Size
1328
+     * @throws ImageHelper_Exception
1329
+     * @see ImageHelper::ERROR_CANNOT_GET_IMAGE_SIZE
1330
+     * @see ImageHelper::ERROR_CANNOT_READ_SVG_IMAGE
1331
+     * @see ImageHelper::ERROR_SVG_SOURCE_VIEWBOX_MISSING
1332
+     * @see ImageHelper::ERROR_SVG_VIEWBOX_INVALID
1333
+     */
1334
+    public static function getImageSize($pathOrResource) : ImageHelper_Size
1335
+    {
1336
+        if(is_resource($pathOrResource)) 
1337
+        {
1338
+            return new ImageHelper_Size(array(
1339
+                'width' => imagesx($pathOrResource),
1340
+                'height' => imagesy($pathOrResource),
1341
+                'channels' => 1,
1342
+                'bits' => 8
1343
+            ));
1344
+        }
1345 1345
 	    
1346
-	    $type = self::getFileImageType($pathOrResource);
1346
+        $type = self::getFileImageType($pathOrResource);
1347 1347
 	    
1348
-	    $info = false;
1349
-	    $method = 'getImageSize_'.$type;
1350
-	    if(method_exists(__CLASS__, $method)) 
1351
-	    {
1352
-	        $info = call_user_func(array(__CLASS__, $method), $pathOrResource);
1353
-	    } 
1354
-	    else 
1355
-	    {
1356
-	        $info = getimagesize($pathOrResource);
1357
-	    }
1348
+        $info = false;
1349
+        $method = 'getImageSize_'.$type;
1350
+        if(method_exists(__CLASS__, $method)) 
1351
+        {
1352
+            $info = call_user_func(array(__CLASS__, $method), $pathOrResource);
1353
+        } 
1354
+        else 
1355
+        {
1356
+            $info = getimagesize($pathOrResource);
1357
+        }
1358 1358
 	    
1359
-	    if($info !== false) {
1360
-	        return new ImageHelper_Size($info);
1361
-	    }
1359
+        if($info !== false) {
1360
+            return new ImageHelper_Size($info);
1361
+        }
1362 1362
 	    
1363 1363
         throw new ImageHelper_Exception(
1364 1364
             'Error opening image file',
@@ -1368,98 +1368,98 @@  discard block
 block discarded – undo
1368 1368
             ),
1369 1369
             self::ERROR_CANNOT_GET_IMAGE_SIZE
1370 1370
         );
1371
-	}
1371
+    }
1372 1372
 	
1373
-   /**
1374
-    * @param string $imagePath
1375
-    * @throws ImageHelper_Exception
1376
-    * @return array
1377
-    * 
1378
-    * @todo This should return a ImageHelper_Size instance.
1379
-    */
1380
-	protected static function getImageSize_svg(string $imagePath) : array
1381
-	{
1382
-	    $xml = XMLHelper::createSimplexml();
1383
-	    $xml->loadFile($imagePath);
1373
+    /**
1374
+     * @param string $imagePath
1375
+     * @throws ImageHelper_Exception
1376
+     * @return array
1377
+     * 
1378
+     * @todo This should return a ImageHelper_Size instance.
1379
+     */
1380
+    protected static function getImageSize_svg(string $imagePath) : array
1381
+    {
1382
+        $xml = XMLHelper::createSimplexml();
1383
+        $xml->loadFile($imagePath);
1384 1384
 	    
1385
-	    if($xml->hasErrors()) {
1386
-	        throw new ImageHelper_Exception(
1387
-	            'Error opening SVG image',
1388
-	            sprintf(
1389
-	                'The XML content of the image [%s] could not be parsed.',
1390
-	                $imagePath
1385
+        if($xml->hasErrors()) {
1386
+            throw new ImageHelper_Exception(
1387
+                'Error opening SVG image',
1388
+                sprintf(
1389
+                    'The XML content of the image [%s] could not be parsed.',
1390
+                    $imagePath
1391 1391
                 ),
1392
-	            self::ERROR_CANNOT_READ_SVG_IMAGE
1392
+                self::ERROR_CANNOT_READ_SVG_IMAGE
1393 1393
             );
1394
-	    }
1394
+        }
1395 1395
 	    
1396
-	    $data = $xml->toArray();
1397
-	    $xml->dispose();
1398
-	    unset($xml);
1396
+        $data = $xml->toArray();
1397
+        $xml->dispose();
1398
+        unset($xml);
1399 1399
 	    
1400
-	    if(!isset($data['@attributes']) || !isset($data['@attributes']['viewBox'])) {
1401
-	        throw new ImageHelper_Exception(
1402
-	            'SVG Image is corrupted',
1403
-	            sprintf(
1404
-	                'The [viewBox] attribute is missing in the XML of the image at path [%s].',
1405
-	                $imagePath
1400
+        if(!isset($data['@attributes']) || !isset($data['@attributes']['viewBox'])) {
1401
+            throw new ImageHelper_Exception(
1402
+                'SVG Image is corrupted',
1403
+                sprintf(
1404
+                    'The [viewBox] attribute is missing in the XML of the image at path [%s].',
1405
+                    $imagePath
1406 1406
                 ),
1407
-	            self::ERROR_SVG_SOURCE_VIEWBOX_MISSING
1407
+                self::ERROR_SVG_SOURCE_VIEWBOX_MISSING
1408 1408
             );
1409
-	    }
1409
+        }
1410 1410
 	    
1411
-	    $svgWidth = parseNumber($data['@attributes']['width'])->getNumber();
1412
-	    $svgHeight = parseNumber($data['@attributes']['height'])->getNumber();
1411
+        $svgWidth = parseNumber($data['@attributes']['width'])->getNumber();
1412
+        $svgHeight = parseNumber($data['@attributes']['height'])->getNumber();
1413 1413
 	    
1414
-	    $viewBox = str_replace(' ', ',', $data['@attributes']['viewBox']);
1415
-	    $size = explode(',', $viewBox);
1414
+        $viewBox = str_replace(' ', ',', $data['@attributes']['viewBox']);
1415
+        $size = explode(',', $viewBox);
1416 1416
 	    
1417
-	    if(count($size) != 4) 
1418
-	    {
1419
-	        throw new ImageHelper_Exception(
1420
-	            'SVG image has an invalid viewBox attribute',
1421
-	            sprintf(
1422
-	               'The [viewBox] attribute does not have an expected value: [%s] in path [%s].',
1423
-	                $viewBox,
1424
-	                $imagePath
1417
+        if(count($size) != 4) 
1418
+        {
1419
+            throw new ImageHelper_Exception(
1420
+                'SVG image has an invalid viewBox attribute',
1421
+                sprintf(
1422
+                    'The [viewBox] attribute does not have an expected value: [%s] in path [%s].',
1423
+                    $viewBox,
1424
+                    $imagePath
1425 1425
                 ),
1426
-	            self::ERROR_SVG_VIEWBOX_INVALID
1426
+                self::ERROR_SVG_VIEWBOX_INVALID
1427 1427
             );
1428
-	    }
1428
+        }
1429 1429
 	    
1430
-	    $boxWidth = $size[2];
1431
-	    $boxHeight = $size[3];
1430
+        $boxWidth = $size[2];
1431
+        $boxHeight = $size[3];
1432 1432
 	    
1433
-	    // calculate the x and y units of the document: 
1434
-	    // @see http://tutorials.jenkov.com/svg/svg-viewport-view-box.html#viewbox
1435
-	    //
1436
-	    // The viewbox combined with the width and heigt of the svg
1437
-	    // allow calculating how many pixels are in one unit of the 
1438
-	    // width and height of the document.
1433
+        // calculate the x and y units of the document: 
1434
+        // @see http://tutorials.jenkov.com/svg/svg-viewport-view-box.html#viewbox
1435
+        //
1436
+        // The viewbox combined with the width and heigt of the svg
1437
+        // allow calculating how many pixels are in one unit of the 
1438
+        // width and height of the document.
1439 1439
         //
1440
-	    $xUnits = $svgWidth / $boxWidth;
1441
-	    $yUnits = $svgHeight / $boxHeight;
1440
+        $xUnits = $svgWidth / $boxWidth;
1441
+        $yUnits = $svgHeight / $boxHeight;
1442 1442
 	    
1443
-	    $pxWidth = $xUnits * $svgWidth;
1444
-	    $pxHeight = $yUnits * $svgHeight;
1443
+        $pxWidth = $xUnits * $svgWidth;
1444
+        $pxHeight = $yUnits * $svgHeight;
1445 1445
 	    
1446
-	    return array(
1447
-	        $pxWidth,
1448
-	        $pxHeight,
1449
-	        'bits' => 8
1450
-	    );
1451
-	}
1446
+        return array(
1447
+            $pxWidth,
1448
+            $pxHeight,
1449
+            'bits' => 8
1450
+        );
1451
+    }
1452 1452
 	
1453
-	/**
1454
-    * Crops the image to the specified width and height, optionally
1455
-    * specifying the origin position to crop from.
1456
-    * 
1457
-    * @param integer $width
1458
-    * @param integer $height
1459
-    * @param integer $x
1460
-    * @param integer $y
1461
-    * @return ImageHelper
1462
-    */
1453
+    /**
1454
+     * Crops the image to the specified width and height, optionally
1455
+     * specifying the origin position to crop from.
1456
+     * 
1457
+     * @param integer $width
1458
+     * @param integer $height
1459
+     * @param integer $x
1460
+     * @param integer $y
1461
+     * @return ImageHelper
1462
+     */
1463 1463
     public function crop(int $width, int $height, int $x=0, int $y=0) : ImageHelper
1464 1464
     {
1465 1465
         $new = $this->createNewImage($width, $height);
@@ -1481,22 +1481,22 @@  discard block
 block discarded – undo
1481 1481
         return $this->newHeight;
1482 1482
     }
1483 1483
 
1484
-   /**
1485
-    * Calculates the average color value used in 
1486
-    * the image. Returns an associative array
1487
-    * with the red, green, blue and alpha components,
1488
-    * or a HEX color string depending on the selected
1489
-    * format.
1490
-    * 
1491
-    * NOTE: Use the calcAverageColorXXX methods for
1492
-    * strict return types. 
1493
-    * 
1494
-    * @param int $format The format in which to return the color value.
1495
-    * @return array|string
1496
-    * 
1497
-    * @see ImageHelper::calcAverageColorRGB()
1498
-    * @see ImageHelper::calcAverageColorHEX()
1499
-    */
1484
+    /**
1485
+     * Calculates the average color value used in 
1486
+     * the image. Returns an associative array
1487
+     * with the red, green, blue and alpha components,
1488
+     * or a HEX color string depending on the selected
1489
+     * format.
1490
+     * 
1491
+     * NOTE: Use the calcAverageColorXXX methods for
1492
+     * strict return types. 
1493
+     * 
1494
+     * @param int $format The format in which to return the color value.
1495
+     * @return array|string
1496
+     * 
1497
+     * @see ImageHelper::calcAverageColorRGB()
1498
+     * @see ImageHelper::calcAverageColorHEX()
1499
+     */
1500 1500
     public function calcAverageColor(int $format=self::COLORFORMAT_RGB)
1501 1501
     {
1502 1502
         $image = $this->duplicate();
@@ -1505,35 +1505,35 @@  discard block
 block discarded – undo
1505 1505
         return $image->getColorAt(0, 0, $format);
1506 1506
     }
1507 1507
     
1508
-   /**
1509
-    * Calculates the image's average color value, and
1510
-    * returns an associative array with red, green,
1511
-    * blue and alpha keys.
1512
-    * 
1513
-    * @throws ImageHelper_Exception
1514
-    * @return array
1515
-    */
1508
+    /**
1509
+     * Calculates the image's average color value, and
1510
+     * returns an associative array with red, green,
1511
+     * blue and alpha keys.
1512
+     * 
1513
+     * @throws ImageHelper_Exception
1514
+     * @return array
1515
+     */
1516 1516
     public function calcAverageColorRGB() : array
1517 1517
     {
1518
-       $result = $this->calcAverageColor(self::COLORFORMAT_RGB);
1519
-       if(is_array($result)) {
1520
-           return $result;
1521
-       }
1518
+        $result = $this->calcAverageColor(self::COLORFORMAT_RGB);
1519
+        if(is_array($result)) {
1520
+            return $result;
1521
+        }
1522 1522
        
1523
-       throw new ImageHelper_Exception(
1524
-           'Unexpected color value',
1525
-           sprintf('Expected an array, got [%s].', gettype($result)),
1526
-           self::ERROR_UNEXPECTED_COLOR_VALUE
1527
-       );
1528
-    }
1529
-    
1530
-   /**
1531
-    * Calculates the image's average color value, and
1532
-    * returns a hex color string (without the #).
1533
-    * 
1534
-    * @throws ImageHelper_Exception
1535
-    * @return string
1536
-    */
1523
+        throw new ImageHelper_Exception(
1524
+            'Unexpected color value',
1525
+            sprintf('Expected an array, got [%s].', gettype($result)),
1526
+            self::ERROR_UNEXPECTED_COLOR_VALUE
1527
+        );
1528
+    }
1529
+    
1530
+    /**
1531
+     * Calculates the image's average color value, and
1532
+     * returns a hex color string (without the #).
1533
+     * 
1534
+     * @throws ImageHelper_Exception
1535
+     * @return string
1536
+     */
1537 1537
     public function calcAverageColorHex() : string
1538 1538
     {
1539 1539
         $result = $this->calcAverageColor(self::COLORFORMAT_HEX);
@@ -1562,18 +1562,18 @@  discard block
 block discarded – undo
1562 1562
     
1563 1563
     const COLORFORMAT_HEX = 2;
1564 1564
     
1565
-   /**
1566
-    * Retrieves the color value at the specified pixel
1567
-    * coordinates in the image.
1568
-    * 
1569
-    * @param int $x
1570
-    * @param int $y
1571
-    * @param int $format The format in which to return the color value.
1572
-    * @return array|string
1573
-    * 
1574
-    * @see ImageHelper::COLORFORMAT_RGB
1575
-    * @see ImageHelper::COLORFORMAT_HEX
1576
-    */
1565
+    /**
1566
+     * Retrieves the color value at the specified pixel
1567
+     * coordinates in the image.
1568
+     * 
1569
+     * @param int $x
1570
+     * @param int $y
1571
+     * @param int $format The format in which to return the color value.
1572
+     * @return array|string
1573
+     * 
1574
+     * @see ImageHelper::COLORFORMAT_RGB
1575
+     * @see ImageHelper::COLORFORMAT_HEX
1576
+     */
1577 1577
     public function getColorAt(int $x, int $y, int $format=self::COLORFORMAT_RGB)
1578 1578
     {
1579 1579
         if($x > $this->getWidth() || $y > $this->getHeight()) 
@@ -1601,21 +1601,21 @@  discard block
 block discarded – undo
1601 1601
         return $rgb;
1602 1602
     }
1603 1603
     
1604
-   /**
1605
-    * Converts an RGB value to its luminance equivalent.
1606
-    * 
1607
-    * @param array $rgb
1608
-    * @return integer Integer, from 0 to 255 (0=black, 255=white)
1609
-    */
1604
+    /**
1605
+     * Converts an RGB value to its luminance equivalent.
1606
+     * 
1607
+     * @param array $rgb
1608
+     * @return integer Integer, from 0 to 255 (0=black, 255=white)
1609
+     */
1610 1610
     public static function rgb2luma(array $rgb) : int
1611 1611
     {
1612 1612
         return (int)floor((($rgb['red']*2)+$rgb['blue']+($rgb['green']*3))/6);
1613 1613
     }
1614 1614
     
1615
-   /**
1616
-    * Retrieves the brightness of the image, in percent.
1617
-    * @return number
1618
-    */
1615
+    /**
1616
+     * Retrieves the brightness of the image, in percent.
1617
+     * @return number
1618
+     */
1619 1619
     public function getBrightness()
1620 1620
     {
1621 1621
         $luma = self::rgb2luma($this->calcAverageColorRGB());
@@ -1623,15 +1623,15 @@  discard block
 block discarded – undo
1623 1623
         return $percent;
1624 1624
     }
1625 1625
     
1626
-   /**
1627
-    * Retrieves an md5 hash of the source image file.
1628
-    * 
1629
-    * NOTE: Only works when the helper has been created
1630
-    * from a file. Otherwise an exception is thrown.
1631
-    * 
1632
-    * @return string
1633
-    * @throws ImageHelper_Exception
1634
-    */
1626
+    /**
1627
+     * Retrieves an md5 hash of the source image file.
1628
+     * 
1629
+     * NOTE: Only works when the helper has been created
1630
+     * from a file. Otherwise an exception is thrown.
1631
+     * 
1632
+     * @return string
1633
+     * @throws ImageHelper_Exception
1634
+     */
1635 1635
     public function getHash()
1636 1636
     {
1637 1637
         ob_start();
Please login to merge, or discard this patch.
src/SVNHelper/CommandResult.php 1 patch
Indentation   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -4,37 +4,37 @@  discard block
 block discarded – undo
4 4
 
5 5
 class SVNHelper_CommandResult
6 6
 {
7
-   /**
8
-    * @var SVNHelper_Command
9
-    */
7
+    /**
8
+     * @var SVNHelper_Command
9
+     */
10 10
     protected $command;
11 11
     
12
-   /**
13
-    * @var string[]
14
-    */
12
+    /**
13
+     * @var string[]
14
+     */
15 15
     protected $output;
16 16
     
17
-   /**
18
-    * @var SVNHelper_CommandError[]
19
-    */
17
+    /**
18
+     * @var SVNHelper_CommandError[]
19
+     */
20 20
     protected $errors = array();
21 21
     
22
-   /**
23
-    * @var SVNHelper_CommandError[]
24
-    */
22
+    /**
23
+     * @var SVNHelper_CommandError[]
24
+     */
25 25
     protected $warnings = array();
26 26
     
27
-   /**
28
-    * The actual command that has been executed
29
-    * @var string
30
-    */
27
+    /**
28
+     * The actual command that has been executed
29
+     * @var string
30
+     */
31 31
     protected $commandLine;
32 32
     
33
-   /**
34
-    * @param SVNHelper_Command $command
35
-    * @param string[] $output
36
-    * @param SVNHelper_CommandError[] $errors
37
-    */
33
+    /**
34
+     * @param SVNHelper_Command $command
35
+     * @param string[] $output
36
+     * @param SVNHelper_CommandError[] $errors
37
+     */
38 38
     public function __construct(SVNHelper_Command $command, $commandLine, $output, $errors)
39 39
     {
40 40
         $this->command = $command;
@@ -86,12 +86,12 @@  discard block
 block discarded – undo
86 86
         return $this->command;
87 87
     }
88 88
     
89
-   /**
90
-    * Retrieves all error messages.
91
-    * 
92
-    * @param bool $asString
93
-    * @return string|string[]
94
-    */
89
+    /**
90
+     * Retrieves all error messages.
91
+     * 
92
+     * @param bool $asString
93
+     * @return string|string[]
94
+     */
95 95
     public function getErrorMessages(bool $asString=false)
96 96
     {
97 97
         if($asString) {
Please login to merge, or discard this patch.