verot.net - class.upload.php samples, a files uploading and images manipulation PHP class ========================================================================================= https://www.verot.net/php_class_upload_samples.htm These images are created by the class.upload.php: https://www.verot.net/php_class_upload.htm test suite, that you can download: https://www.verot.net/php_class_upload_download.htm part of the package. original file image/png  -  150 x 100  -  35.25KB width 50, height auto image/png  -  50 x 33  -  4.5KB $foo->image_resize = true; $foo->image_ratio_y = true; $foo->image_x = 50; height 50, width auto image/png  -  75 x 50  -  9.75KB $foo->image_resize = true; $foo->image_ratio_x = true; $foo->image_y = 50; height 50, width 50 image/png  -  50 x 50  -  6.75KB $foo->image_resize = true; $foo->image_y = 50; $foo->image_x = 50; height 50, width 50, keeping ratio image/png  -  50 x 33  -  4.5KB $foo->image_resize = true; $foo->image_ratio = true; $foo->image_y = 50; $foo->image_x = 50; 50x50, keeping ratio, cropping excedent image/png  -  50 x 50  -  6.75KB $foo->image_resize = true; $foo->image_ratio_crop = true; $foo->image_y = 50; $foo->image_x = 50; 50x50, keeping ratio, cropping right excedent image/png  -  50 x 50  -  7KB $foo->image_resize = true; $foo->image_ratio_crop = 'L'; $foo->image_y = 50; $foo->image_x = 50; 50x50, keeping ratio, cropping left excedent image/png  -  50 x 50  -  6.5KB $foo->image_resize = true; $foo->image_ratio_crop = 'R'; $foo->image_y = 50; $foo->image_x = 50; 150x50, keeping ratio, filling in image/png  -  150 x 50  -  10KB $foo->image_resize = true; $foo->image_ratio_fill = true; $foo->image_y = 50; $foo->image_x = 150; 150x50, keeping ratio, filling left side image/png  -  150 x 50  -  10KB $foo->image_resize = true; $foo->image_ratio_fill = 'L'; $foo->image_y = 50; $foo->image_x = 150; 100x150, keeping ratio, filling top and bottom image/png  -  100 x 150  -  15.75KB $foo->image_resize = true; $foo->image_ratio_fill = 'R'; $foo->image_y = 150; $foo->image_x = 100; $foo->image_background_color = '#FF00FF'; height 50, width 50, cropped, using ratio_crop image/png  -  30 x 50  -  4.25KB $foo->image_resize = true; $foo->image_ratio_crop = true; $foo->image_crop = '0 10'; $foo->image_y = 50; $foo->image_x = 50; calculates x and y, targeting 25000 pixels image/png  -  194 x 129  -  51.75KB $foo->image_resize = true; $foo->image_ratio_pixels = 25000; calculates x and y, targeting 10000 pixels image/png  -  122 x 82  -  23.25KB $foo->image_resize = true; $foo->image_ratio_pixels = 10000; 20% crop image/png  -  90 x 60  -  12.75KB $foo->image_crop = '20%'; 5px vertical and 20% horizontal crop image/png  -  90 x 90  -  20KB $foo->image_crop = '5 20%'; negative crop with a background color image/png  -  180 x 106  -  34KB $foo->image_crop = '-3px -10%'; $foo->image_background_color = '#FF00FF'; 5px top, 40px right, 10% bot. and -20px left crop image/png  -  130 x 85  -  24.25KB $foo->image_crop = '5 40 10% -20'; 15px pre-cropping (before resizing 150 wide) image/png  -  150 x 88  -  26.75KB $foo->image_resize = true; $foo->image_ratio_y = true; $foo->image_x = 150; $foo->image_precrop = 15; diverse pre-cropping (before resizing 150 wide) image/png  -  150 x 98  -  26KB $foo->image_resize = true; $foo->image_ratio_y = true; $foo->image_x = 150; $foo->image_precrop = '25 70 10% -20'; 90 degrees rotation image/png  -  100 x 150  -  34.75KB $foo->image_rotate = '90'; 180 degrees rotation image/png  -  150 x 100  -  35.25KB $foo->image_rotate = '180'; horizontal flip, into WEBP file image/webp  -  150 x 100  -  6.75KB $foo->image_convert = 'webp'; $foo->image_flip = 'H'; vertical flip, into GIF file image/gif  -  150 x 100  -  10.75KB $foo->image_convert = 'gif'; $foo->image_flip = 'V'; 180 degrees rotation, into GIF, green bg image/x-ms-bmp  -  150 x 100  -  44.25KB $foo->image_convert = 'gif'; $foo->image_default_color = '#00FF00'; $foo->image_rotate = '180'; 90 degrees rotation and horizontal flip, into PNG image/png  -  100 x 150  -  34.75KB $foo->image_convert = 'png'; $foo->image_flip = 'H'; $foo->image_rotate = '90'; 20px black and white bevel image/png  -  150 x 100  -  31KB $foo->image_bevel = 20; $foo->image_bevel_color1 = '#FFFFFF'; $foo->image_bevel_color2 = '#000000'; 5px white bevel (smooth border) image/png  -  150 x 100  -  33.75KB $foo->image_bevel = 5; $foo->image_bevel_color1 = '#FFFFFF'; $foo->image_bevel_color2 = '#FFFFFF'; 5px red border image/png  -  160 x 110  -  35.75KB $foo->image_border = 5; $foo->image_border_color = '#FF0000'; 5px green semi-transparent border image/png  -  160 x 110  -  35.75KB $foo->image_border = 5; $foo->image_border_color = '#00FF00'; $foo->image_border_opacity = 50; 5px top, 20px right, 1px bot. and 25% left blue border image/png  -  207 x 106  -  35.75KB $foo->image_border = '5 20 1 25%'; $foo->image_border_color = '#0000FF'; flat colored frame, 4 px wide image/png  -  158 x 108  -  35.5KB $foo->image_frame = 1; $foo->image_frame_colors = '#FF0000 #FFFFFF #FFFFFF #0000FF'; crossed colored frame, 7 px wide image/png  -  164 x 114  -  35.5KB $foo->image_frame = 2; $foo->image_frame_colors = '#FFFFFF #BBBBBB #999999 #FF0000 #666666 #333333 #000000'; flat colored frame, 4 px wide, 25% opacity image/png  -  158 x 108  -  35.5KB $foo->image_frame = 1; $foo->image_frame_colors = '#FF0000 #FF00FF #0000FF #000000'; $foo->image_frame_opacity = 25; 10px fade-to-transparent border image/png  -  150 x 100  -  35.5KB $foo->image_border_transparent = 10; various fade-to-transparent borders image/png  -  150 x 100  -  35.75KB $foo->image_border_transparent = '10 50 20 60'; right fading-out to transparency mask image/png  -  150 x 100  -  35.25KB $foo->image_border_transparent = array(0, 150, 0, 0); tint and 50% overlay and 180' rotation image/png  -  150 x 100  -  8.25KB $foo->image_overlay_color = '#FFFFFF'; $foo->image_overlay_opacity = 50; $foo->image_rotate = '180'; $foo->image_tint_color = '#FF0000'; #FF0000 tint image/png  -  150 x 100  -  19KB $foo->image_tint_color = '#FF0000'; 50% overlay #FF0000 image/png  -  150 x 100  -  29.5KB $foo->image_overlay_color = '#FF0000'; $foo->image_overlay_opacity = 50; 5% overlay #0000FF image/png  -  150 x 100  -  34.75KB $foo->image_overlay_color = '#0000FF'; $foo->image_overlay_opacity = 5; 90% overlay #FFFFFF image/png  -  150 x 100  -  18.5KB $foo->image_overlay_color = '#FFFFFF'; $foo->image_overlay_opacity = 90; brightness 25 image/png  -  150 x 100  -  34.5KB $foo->image_brightness = 25; brightness -25 image/png  -  150 x 100  -  29.75KB $foo->image_brightness = -25; contrast 75 image/png  -  150 x 100  -  34.75KB $foo->image_contrast = 75; opacity 75 image/png  -  150 x 100  -  35.25KB $foo->image_opacity = 75; opacity 25 image/png  -  150 x 100  -  34.75KB $foo->image_opacity = 25; threshold filter image/png  -  150 x 100  -  7.5KB $foo->image_threshold = 20; greyscale image/png  -  150 x 100  -  28.25KB $foo->image_greyscale = true; negative image/png  -  150 x 100  -  35KB $foo->image_negative = true; original file, again image/png  -  150 x 100  -  35.25KB pixelate, 3px block size image/png  -  150 x 100  -  15KB $foo->image_pixelate = 3; pixelate, 10px block size image/png  -  150 x 100  -  8KB $foo->image_pixelate = 10; unsharp mask, default values image/png  -  150 x 100  -  39.25KB $foo->image_unsharp = true; unsharp mask, different values image/png  -  150 x 100  -  37.75KB $foo->image_unsharp = true; $foo->image_unsharp_amount = 200; $foo->image_unsharp_radius = 1; $foo->image_unsharp_threshold = 5; brightness, resize, rotation, overlay & label image/png  -  200 x 100  -  16.25KB $foo->image_brightness = 75; $foo->image_resize = true; $foo->image_y = 200; $foo->image_x = 100; $foo->image_rotate = '90'; $foo->image_overlay_color = '#FF0000'; $foo->image_overlay_opacity = 50; $foo->image_text = 'verot.net'; $foo->image_text_color = '#0000FF'; $foo->image_text_background = '#FFFFFF'; $foo->image_text_position = 'BL'; $foo->image_text_padding_x = 10; $foo->image_text_padding_y = 2; overlayed transparent label image/png  -  150 x 100  -  31.75KB $foo->image_text = 'verot.net'; $foo->image_text_color = '#000000'; $foo->image_text_opacity = 80; $foo->image_text_background = '#FFFFFF'; $foo->image_text_background_opacity = 70; $foo->image_text_font = 5; $foo->image_text_padding = 20; overlayed vertical plain label bottom left image/png  -  150 x 100  -  32.75KB $foo->image_text = 'verot.net'; $foo->image_text_direction = 'v'; $foo->image_text_background = '#000000'; $foo->image_text_font = 2; $foo->image_text_position = 'BL'; $foo->image_text_padding_x = 2; $foo->image_text_padding_y = 8; overlayed vertical label, into BMP image/x-ms-bmp  -  150 x 100  -  44.25KB $foo->image_convert = 'bmp'; $foo->image_text = 'verot.net'; $foo->image_text_direction = 'v'; $foo->image_text_color = '#FFFFFF'; $foo->image_text_background = '#000000'; $foo->image_text_background_opacity = 50; $foo->image_text_padding = 5; overlayed label with absolute negative position image/png  -  150 x 100  -  31.5KB $foo->image_text = 'verot.net'; $foo->image_text_opacity = 50; $foo->image_text_background = '#0000FF'; $foo->image_text_x = -5; $foo->image_text_y = -5; $foo->image_text_padding = 5; overlayed transparent label with absolute position image/png  -  150 x 100  -  34KB $foo->image_text = 'verot.net'; $foo->image_text_background = '#0000FF'; $foo->image_text_background_opacity = 25; $foo->image_text_x = 5; $foo->image_text_y = 5; $foo->image_text_padding = 20; text label with multiple lines and small font image/png  -  150 x 100  -  33.25KB $foo->image_text = "verot.net\nclass\nupload"; $foo->image_text_background = '#000000'; $foo->image_text_background_opacity = 75; $foo->image_text_font = 1; $foo->image_text_padding = 10; vertical multi-lines text, right aligned image/png  -  150 x 100  -  33.5KB $foo->image_text = "verot.net\nclass\nupload"; $foo->image_text_color = '#000000'; $foo->image_text_background = '#FFFFFF'; $foo->image_text_background_opacity = 60; $foo->image_text_padding = 3; $foo->image_text_font = 3; $foo->image_text_alignment = 'R'; $foo->image_text_direction = 'V'; text label with 10 pixels of line spacing image/png  -  150 x 100  -  32.25KB $foo->image_text = "verot.net\nclass\nupload"; $foo->image_text_background = '#000000'; $foo->image_text_background_opacity = 50; $foo->image_text_padding = 10; $foo->image_text_x = -5; $foo->image_text_y = -5; $foo->image_text_line_spacing = 10; text label in a black line, plus unsharp mask image/png  -  150 x 116  -  39.5KB $foo->image_unsharp = true; $foo->image_border = '0 0 16 0'; $foo->image_border_color = '#000000'; $foo->image_text = "verot.net"; $foo->image_text_font = 2; $foo->image_text_position = 'B'; $foo->image_text_padding_y = 2; using tokens in text labels image/png  -  156 x 133  -  34.25KB $foo->image_crop = '-3 -3 -30 -3'; $foo->image_text = "[dst_name] [dst_x]x[dst_y]"; $foo->image_text_background = '#6666ff'; $foo->image_text_color = '#ffffff'; $foo->image_background_color= '#000099'; $foo->image_text_font = 2; $foo->image_text_y = -7; $foo->image_text_padding_x = 3; $foo->image_text_padding_y = 2; all the tokens available image/png  -  180 x 355  -  39.75KB $foo->image_crop = '-15 -15 -240 -15'; $foo->image_text = "token value\n ------------- ------------------\n src_name [src_name]\n src_name_body [src_name_body]\n src_name_ext [src_name_ext]\n src_pathname [src_pathname]\n src_mime [src_mime]\n src_type [src_type]\n src_bits [src_bits]\n src_pixels [src_pixels]\n src_size [src_size]\n src_size_kb [src_size_kb]\n src_size_mb [src_size_mb]\n src_size_human [src_size_human]\n src_x [src_x]\n src_y [src_y]\n dst_path [dst_path]\n dst_name_body [dst_name_body]\n dst_name_ext [dst_name_ext]\n dst_name [dst_name]\n dst_pathname [dst_pathname]\n dst_x [dst_x]\n dst_y [dst_y]\n date [date]\n time [time]\n host [host]\n server [server]\n ip [ip]\n gd_version [gd_version]"; $foo->image_text_alignment = 'L'; $foo->image_text_font = 1; $foo->image_text_position = 'B'; $foo->image_text_padding_y = 5; $foo->image_text_color = '#000000'; text label with external GDF font image/png  -  150 x 100  -  21.25KB $foo->image_text = "verot.net\nclass\nupload"; $foo->image_text_background = '#000000'; $foo->image_text_padding = 10; $foo->image_text_font = "./foo.gdf"; $foo->image_text_line_spacing = 2; text label with external GDF font image/png  -  150 x 100  -  31KB $foo->image_text = 'PHP'; $foo->image_text_color = '#FFFF00'; $foo->image_text_background = '#FF0000'; $foo->image_text_padding = 10; $foo->image_text_font = "./foo.gdf"; UTF-8 text label with external TTF font image/png  -  150 x 100  -  26.25KB $foo->image_text = "àzértyuïôp"; $foo->image_text_background = '#000000'; $foo->image_text_padding = 10; $foo->image_text_font = "./foo.ttf"; UTF-8 text label with external TTF font image/png  -  150 x 100  -  25.75KB $foo->image_text = "άλφα\nβήτα"; $foo->image_text_color = '#0033CC'; $foo->image_text_size = 28; $foo->image_text_font = "./foo.ttf"; $foo->image_overlay_color = '#FFFFFF'; $foo->image_overlay_opacity = 75; UTF-8 text label with external TTF font image/png  -  150 x 100  -  17.5KB $foo->image_text = "люблю"; $foo->image_text_background = '#000000'; $foo->image_text_size = 20; $foo->image_text_angle = 20; $foo->image_text_padding = 10; $foo->image_text_font = "./foo.ttf"; 40px reflection image/png  -  150 x 142  -  48KB $foo->image_reflection_height = '40px'; text label and 50% reflection image/png  -  150 x 152  -  22.75KB $foo->image_text = "verot.net\nclass\nupload"; $foo->image_text_background = '#000000'; $foo->image_text_padding = 10; $foo->image_text_line_spacing = 10; $foo->image_reflection_height = '50%'; 40px reflection and 10 pixels space, into JPEG image/jpeg  -  150 x 150  -  8.25KB $foo->image_convert = 'jpg'; $foo->image_reflection_height = '40px'; $foo->image_reflection_space = 10; 60px reflection and -40 pixels space image/png  -  150 x 120  -  45.5KB $foo->image_reflection_height = 60; $foo->image_reflection_space = -40; 50px reflection and 100% opacity image/png  -  150 x 152  -  51.25KB $foo->image_reflection_height = 50; $foo->image_reflection_opacity = 100; 50px reflection and 20% opacity image/png  -  150 x 152  -  51KB $foo->image_reflection_height = 50; $foo->image_reflection_opacity = 20; 50% reflection, black background image/png  -  150 x 152  -  51.25KB $foo->image_reflection_height = '50%'; $foo->image_default_color = '#000000'; 50% reflection, pink background, into GIF image/gif  -  150 x 152  -  12.5KB $foo->image_convert = 'gif'; $foo->image_reflection_height = '50%'; $foo->image_default_color = '#000000'; overlayed watermark (alpha transparent PNG) image/png  -  150 x 100  -  35.25KB $foo->image_watermark = 'watermark.png'; overlayed watermark, right position image/png  -  150 x 100  -  36KB $foo->image_watermark = 'watermark.png'; $foo->image_watermark_position = 'R; watermark on greyscale pic, absolute position image/png  -  150 x 100  -  29.25KB $foo->image_watermark = 'watermark.png'; $foo->image_watermark_x = 10; $foo->image_watermark_y = 10; $foo->image_greyscale = true; watermark, automatic up-resizing activated image/png  -  150 x 100  -  33.5KB $foo->image_watermark = 'watermark.png'; $foo->image_watermark_no_zoom_in = false; large watermark automatically reduced (default) image/png  -  150 x 100  -  35KB $foo->image_watermark = 'watermark_large.png'; large watermark, automatic down-resizing deactivated image/png  -  150 x 100  -  33.5KB $foo->image_watermark = 'watermark_large.png'; $foo->image_watermark_no_zoom_out = true; large watermark, down-resizing deactivated, position top-left image/png  -  150 x 100  -  32.5KB $foo->image_watermark = 'watermark_large.png'; $foo->image_watermark_no_zoom_out = true; $foo->image_watermark_position = 'TL' large watermark automatically reduced, position 20 -20 image/png  -  150 x 100  -  36.5KB $foo->image_watermark = 'watermark_large.png'; $foo->image_watermark_x = 20; $foo->image_watermark_y = -20; desired JPEG size set to 3KB image/jpeg  -  150 x 100  -  3KB $foo->image_convert = 'jpg'; $foo->jpeg_size = 3072; JPG quality set to 10% image/jpeg  -  150 x 100  -  1.75KB $foo->image_convert = 'jpg'; $foo->jpeg_quality = 10; JPG quality set to 80% image/jpeg  -  150 x 100  -  6KB $foo->image_convert = 'jpg'; $foo->jpeg_quality = 80; PNG compression set to 0 (fast, large files) image/png  -  150 x 100  -  58.75KB $foo->image_convert = 'png'; $foo->png_compression = 0; PNG compression set to 9 (slow, smaller files) image/png  -  150 x 100  -  35.25KB $foo->image_convert = 'png'; $foo->png_compression = 9; WEBP quality set to 10% image/webp  -  150 x 100  -  2.5KB $foo->image_convert = 'webp'; $foo->webp_quality = 10; WEBP quality set to 80% image/webp  -  150 x 100  -  6KB $foo->image_convert = 'webp'; $foo->webp_quality = 80;