DJ Mike's Image Maker 2


^
<br><input type="submit" value="Go">
<br><input type="submit" value="Go">

<br><input type="submit" value="Go">
<br><input type="submit" value="Go">
<br><input type="submit" value="Go">
<br><input type="submit" value="Go">

<br><input type="submit" value="Go">
<br><input type="submit" value="Go">

Sizer Tool | Named Colors | Changelog & Source Codes

Changelog

Requirements

  1. Your server must support PHP.
  2. Your server must have Imagick.

Last 100 Changes

  1. Swirl added to image tool.
  2. Spread added.
  3. Sigmoidal Contrast added.
  4. Shear added.
  5. Sharpen added.
  6. Shade added.
  7. Sepia tone added.
  8. Rotate v1. This has a known bug. It works for rotating ay 90º angles but if the frames of an animation have different geometries the resulting image will be jumpy.
  9. Roll added.
  10. Posterize added.
  11. Oil Paint added
  12. Normalize added.
  13. Negate added
  14. Modulate (Brightness/Saturation/Hue) added.
  15. Implode added
  16. Gamma added
  17. Flip/Flop added
  18. Transverse/Transpose v1 (buggy)
    I don't have this on my original tool but I thought that it would be easy to add. I forgot about the geometry problem. Not as bad on this as own Rotate but still a problem.
  19. Reduce Noise added
  20. Radial Blur added
  21. Quick Resize added. This took a lot more reworking that regular Imagic functions.
  22. Enhance/Equalize added
  23. Emboss added
  24. Added top.php to replace the code at the tops of most pages and replaced some existing pages using it instead of the old code block,
  25. Edge Detect Added
  26. Despeckle added
  27. Decorate v1 added.
    I thought I'ld knock this out in 30 minutes like the others but it took 3 hours and it still has problems. For frame the validation for width needs to check for widths too wide. That shouldn't be hard to fix but the next problem might. For frame, it changed the transparent background of the test animation to gray.
  28. Cyclecolormap added
  29. Charcoal added
  30. Blur added
  31. Gaussinblur
  32. Convert File Type added
  33. Psychedelicize added
  34. To reduce the clutter I changed the navigation from links to menus
  35. New image maker added
  36. Gradient added
  37. Plasma added
  38. CSS added to navigation to make menus the same size on all browsers
  39. Display page split into two pages; one to display, another to split animated images into frames
  40. This uses Imagick's colorize. My own colorize does some other things but I never converted it from GD it Imagick and I don't know of any way to do animations with GD functions.
  41. Added redirection to functions.php to power the button to the Restore page so it doesn't need javascript
  42. Geometry bug on Rotate fixed
  43. Patterns added. Made an array of all the pattern names to loop through to create the HTML for the menu and table. All the pattern images in the table are created by the same script.
  44. Navigation now keeps working if javascript fails.
  45. Shave v1 added. This version doesn't work on animations if the frames are different sizes.
  46. Crop v1 added. This version doesn't work on animations if the frames are different sizes.
  47. Bugs fixed in Crop, Rotate, Transverse and Transpse. A single line of code fixes them all:
    $image = $image->coalesceImages();
  48. Resize, Adaptive Resize, Double, Half, Sample, Scale, Thumbnail added as resize.php
  49. Motion Blur added
  50. Color grabber added to click.php
  51. Sketch added
  52. Contrast added. Coalesce added to upload so all animations will b coalesed. to work in other scripts
  53. Trim v1 added. does not work for animations
  54. click.php updated. Typo that showed the y cooridinate as the x cooridinate fixed. It now no longer closes the page if there is no image to display. That cause the forms for Gradient, Plasma and Patterns to not display if there wasn't already an image present.
  55. Adaptive Sharpen added
  56. Adaptive Blur added
  57. Contrast Stretch added
  58. Two bug fixes for click.php:
    Fix for the bug that Byron found; prepends a zero to the hex for $r, $g and $b if they are only one charactor long.

    Also fix for bug that is activated if you use the first version of the tool in the same session. One version will store $_SESSION[path] for that directory then when you switch tools, version 2 tries to load $_SESSION[path] but it doesn't exist in that directory.
  59. Round Corners added
  60. Buttonize added
  61. Median Filter added
  62. Polaroid added<>
  63. Bug fixes for Resize. Resize no longer turns JPG's black. Sample doesn't do proportional scaling so if a size parameter is zero it gets changed to one.
  64. Undo function added. The undo() lives in functions.php so I can call it in restore.php and display.php. It gets a list of all of the viewer's images, deletes the last one and replaces the path in $_SESSION[path] with the next to last image. Upload.php has some minor modifications.
  65. Linear Stretch added
  66. Solarize added
  67. Compress added. Optimize menu added to nav.php and Reduce Colors and Compress moved to it. Found and fixed bug in Despeckle.
  68. Emboss updated
  69. Add Noise added
  70. Splice added to Crop page
  71. Point & click draw lines and rectangles added
  72. Circles and Round Rectangles added to Lines and rectangles page.
  73. Paint added. Includes Paint Transparent, Color Flood Fill and Paint Flood Fill.
  74. Set Opacity added to Paint page
  75. Added version 1 of Multi-Uploader
  76. Added Delay multi-upload and made it convert the output to .gif
  77. Composite added
  78. Added a form to the upload page for computer and MSNTV2 users to upload files from their devices.
  79. Scale, Skew & Rotate added to Draw Lines Circle, Rectangels and Round Rectanges
  80. Auto Scale Composite added.
  81. Changed the name of two of the functions on the Paint page to "Replace" to make it more obvious what they do. Three bugs fixed that gave incorrect colors if one of the channels had one digit.
  82. Finally found and fixed the bug in Resize that sometimes resulted in all black images. It happened when blur=0. I changed it so that when the user doesn't enter a blur, blur=1
  83. Added my own fonts to the list of server fonts. Spent several hours trying to alphabetizing the whole array before I gave up. For now it displays a whole form. Eventually that will change,
  84. Font uploader added for users to upload their own fonts. Every time the page is viewed, fonts older than 8 hours are removed. URLs are checked to see if they start with http:// and end in .ttf. A final check is done to make sure no indesirable files have been uploaded.

    Fonts file no longer displays HTML on its own. Instead if checks the temp_fonts directory and adds any fonts there to the array of fonts. A function to display options ha been added so I can call the list when I want it.
  85. I had to make some changes to the fonts page to make if select font names for server fonts and paths for my fonts and user fonts. http://eclecticdjs.com/mike/wtv/tools/image_maker_2/fonts_03.txt

    Basic annotate functions. Known problem: Error when font not selected.
  86. Alpha and Opacity added to Annotate
  87. Added more validation so no error when font not selected
  88. Typo in draw_lines_circles_rectangles_03.php that had opocity being set when alpha should be set fixed.
  89. Rotate and Under Text Color added to Annotate
  90. Draw Ellipses added.
  91. Added link to current image to Crop page
  92. Polygons & Polylines added
  93. Added bezier curves to polygon page
  94. Now remembers which font you last used to annotate with and menu is pre-selected. Font viewer added to font.php. Form for it added to annotate.php.
  95. Stand alone font viewer added for people who just want to see the font
  96. The string used for the characters in the font display had quotes in it. Changed it to heredoc syntax to avoid problems with them
  97. Found and fixed bug in Rotate that made it fail on single frame images rotated right or left then save the invalif file path,
  98. Distort v1 added to image tool. Only does arc distort for now.
  99. Thanks to Lila for finding out that Imagick has many more composite modes than the ones listed in PHP.net. Even the apparently useless ones like Dst and Src. Maybe I'll find out that the do have some use latter on. Thanks to Sally for posting a way to find out what modes by server as I now have every mode that my server has on my tool I didn't have to test every mode one by one.
  100. Added the rest of the distortion operators that my server can handle. The I didn't finish the discriptions because the only documentation that I could find was for command line and didn't match the results of my tests.

Latest Versions

  1. adaptiveblur_02.txt
  2. adaptivesharpen_02.txt
  3. add_noise_01.txt
  4. annotate_05.txt
  5. arcs_01.txt
  6. blur_02.txt
  7. buttonize_01.txt
  8. channel_menu_01.txt
  9. charcoal_02.txt
  10. crop_03.txt
  11. click_07.txt
  12. contraststretch_02.txt
  13. colorize_im_02.txt
  14. composite_03.txt
  15. compress_01.txt
  16. contrast_01.txt
  17. cyclecolormap_02.txt
  18. decorate_02.txt
  19. despeckle_02.txt
  20. display_08.txt
  21. distort_02.txt
  22. lines_circles_rectangles_03.txt
  23. edgedetect_01.txt
  24. ellipse_01.txt
  25. emboss_02.txt
  26. enhance_equalize_03.txt
  27. fonts_05.txt
  28. fontviewer_01.txt
  29. functions_09.txt
  30. flipflop_03.txt
  31. gamma_04.txt
  32. gaussianblur_02.txt
  33. gradient_01.txt
  34. named_colors.txt
  35. implode_03.txt
  36. lines_circles_rectangles_01.txt
  37. linearstretch_01.txt
  38. medianfilter_02.txt
  39. modulate_03.txt
  40. motionblur_02.txt
  41. multiupload_02.txt
  42. nav_04.txt
  43. negate_03.txt
  44. index_01.txt (New image)
  45. normalize_03.txt
  46. notepad.txt
  47. oilpaint_03.txt
  48. patterns_01.txt (pattern maker)
  49. patterns_01.txt
  50. images/patterns.txt (images for table)
  51. paint_21.txt
  52. polaroid_02.txt
  53. poly_02.txt
  54. posterize_02.txt
  55. plasma_01.txt
  56. psychedelicize_02.txt
  57. quick_resize_03.txt
  58. radialblur_03.txt
  59. reduce_colors_02.txt
  60. reducenoise_03.txt
  61. resize_04.txt Resize, Adaptive Resize, Double, Half, Sample, Scale, Thumbnail
  62. roll_03.txt
  63. rotate_04.txt
  64. roundcorners_02.txt
  65. sepia_03.txt
  66. shade_03.txt
  67. sharpen_03.txt
  68. shave_02.txt
  69. shear_02.txt
  70. sigmoidalcontrast_03.txt
  71. sketch_02.txt
  72. solarize_02.txt
  73. split_frames_02.txt
  74. spread_03.txt
  75. swirl_03.txt
  76. thumbnail_03.txt
  77. threshold_03.txt
  78. tint_03.txt
  79. top.txt
  80. transversetranspose_04.txt
  81. trim_01.txt
  82. upload_07.txt
  83. vignette_02.txt
  84. wave_03.txt

To Do

  1. Add inverse functions to composite
  2. effects.php
  3. tiler.php
  4. grid.php



  5. bevel.php
  6. flakes.php
  7. ripple.php
  8. spirograph.php
  9. zoom.php
  10. stripImage Strips an image of all profiles and comments.
  11. unsharpMaskImage Sharpens an image.
  12. Figure out geometry for Trim
  13. Debug Decorate
  14. averageImages
  15. combineImages
  16. montageImage
  17. mosaicImages
  18. matteFloodfillImage
  19. convolveImage
  20. labelImage
  21. removeImage
  22. resampleImage Resample image to desired resolution.
  23. separateImageChannel Separates a channel from the image.
  24. setImageChannelDepth
  25. setImageDepth
  26. setImageResolution Sets the image resolution.
  27. setImageTicksPerSecond Sets the image ticks-per-second.
  28. setResolution Sets the image resolution.
  29. matte Paints on the image's opacity channel.
  30. point Draws a point.

  31. annotate.php
  32. Antoalias
  33. setStrokeAntialias Controls whether stroked outlines are antialiased.
  34. setTextAntialias Controls whether text is antialiased. text.
  35. setTextAlignment Specifies a text alignment.
  36. setTextDecoration Specifies a decoration.
  37. setViewbox Sets the overall canvas size.

  38. setStrokeDashArray Specifies the pattern of dashes and gaps used to stroke paths.
  39. setStrokeDashOffset Specifies the offset into the dash pattern to start the dash.
  40. setStrokeLineJoin Specifies the shape to be used at the corners of paths when they are stroked.
  41. setStrokeMiterLimit Specifies the miter limit.

  42. Paths
  43. pathClose Adds a path element to the current path.
  44. pathCurveToAbsolute Draws a cubic Bezier curve.
  45. pathCurveToQuadraticBezierAbsolute Draws a quadratic Bezier curve.
  46. pathCurveToQuadraticBezierRelative Draws a quadratic Bezier curve.
  47. pathCurveToQuadraticBezierSmoothAbsolute Draws a quadratic Bezier curve.
  48. pathCurveToQuadraticBezierSmoothRelative Draws a quadratic Bezier curve.
  49. pathCurveToRelative Draws a cubic Bezier curve.
  50. pathCurveToSmoothAbsolute Draws a cubic Bezier curve.
  51. pathCurveToSmoothRelative Draws a cubic Bezier curve.
  52. pathEllipticArcAbsolute Draws an elliptical arc.
  53. pathEllipticArcRelative Draws an elliptical arc.
  54. pathFinish Terminates the current path.
  55. pathLineToAbsolute Draws a line path.
  56. pathLineToHorizontalAbsolute Draws a horizontal line path.
  57. pathLineToHorizontalRelative Draws a horizontal line.
  58. pathLineToRelative Draws a line path.
  59. pathLineToVerticalAbsolute Draws a vertical line.
  60. pathLineToVerticalRelative Draws a vertical line path.
  61. pathMoveToAbsolute Starts a new sub-path.
  62. pathMoveToRelative Starts a new sub-path.
  63. pathStart Declares the start of a path drawing list.
  64. setVectorGraphics Sets the vector graphics.
  65. translate Applies a translation to the current coordinate system.

Known Bugs

  1. Morph doesn't loop or have right number of frames.
  2. Flatten doesn't do anything
  3. Optimize layers doesn't do anything
  4. Undo sometimes returns another users image.
  5. Some problem when creating PNGs.
  6. Page orientation problems for animated GIFs that have frames of different dimensions.
  7. Page orientation problems for images distorted into 300º arcs and cropped.