Well, I finally got around to cleaning up the code in my pop-up JPEG image editor this weekend. The editor was originally integrated into a content management system I built for a client two years back, but the new code structure ought to make dropping it anywhere fairly easy. It currently has no documentation, but if you download the source, you’ll see that there’s not much to getting it up and running.
I’ve decided to release the code under the GNU Lesser General Public License, so have at it! If you find it useful, I’d love to hear how/where you’re using it.
Demo
Water Lilies
Sunset
Source Code
ImageEditor_v1_5.zip (5/31/2008 - current)
ImageEditor_20070128.zip (1/28/2007)
ImageEditor_20070127.zip (1/27/2007)
ImageEditor_20061217.zip (12/17/2006)
Related Posts
06/25/2008 - ImageEditor on App Engine
05/31/2008 - ImageEditor v1.5 is out; ImageEditor v2 is on hold indefinitely
05/10/2008 - ImageEditor v2 Coding Has Begun
12/07/2007 - ImageEditor: The Next Generation
02/09/2007 - Ajax Image Editor Using ColdFusion
01/28/2007 - Image Editor Update: Moveable Crop Region
01/27/2007 - Adding Crop Dimensions to the Image Editor
06/30/2007 - Google Gadget Version of the Ajax Image Editor
Wow - I’ve been looking for something like this! Thanks!
Comment by Andrew — January 22, 2007 @ 10:46 am
Hi,
sorry, but it didn’t work for me (FF 2.0)…
After “Loading Image…” nothing is shown…
Great idea though
Comment by Oliver — January 22, 2007 @ 2:25 pm
Wow, thanks.
But it doesn’t work in my server!
Do I have to give any permission to my folders? Wich ones?
Please, a bit of help, just for it to work.
Thaks a lot.
Comment by Alex — January 22, 2007 @ 2:30 pm
Andrew: My pleasure.
Oliver: Thanks for the comment. The live demo is getting slammed today because of the Ajaxian post, and this image editor was not really designed to be a multi-user tool — hence the quirky behavior. I recommend downloading the source and playing with it on your server.
Alex: Make sure GD is enabled. See http://www.php.net/gd for more info.
Comment by Peter Frueh — January 22, 2007 @ 3:07 pm
php image editor
1. with what image component php resize the picture ? on each resize command the image is going to server and back to client? or it proccessed under js client ?
2. can I use .tiff image ?
3. how I run the php from ’server’ side ? can I use other server software then php ?
EL
Comment by el — January 22, 2007 @ 4:56 pm
EL: The editor only works with JPEG images and uses PHP’s built-in image functions (see link in comment #4). It doesn’t support other server-side languages at this time.
Regarding the client/server process: After a user event occurs (i.e. clicking the Resize button), JavaScript looks at the interface data for what it needs, then POSTs a processing instruction to processImage.php. ProcessImage.php manipulates the image on the server side and returns a message to the browser (in JSON). When the browser receives this message, it resizes a transparent div to the new image dimensions and replaces that div’s background image with a request to getImage.php, which outputs the updated JPEG as its response.
Comment by Peter Frueh — January 23, 2007 @ 4:11 pm
Finally a tool to crop my images on the server instead of having to boot up Photoshop every time! I have one little feature request though: would it be possible to show me the size of the selection I made in an image? In Photoshop, if I draw a rectangle to crop the image, a little window on the side tells me the width and height of the selection I made. This is very usefull, because I want all the pictures on my website to be of equal size. Could I ask you to add this feature to the script?
Comment by Dennis — January 27, 2007 @ 1:39 pm
Dennis: You’re not alone.
http://www.ajaxprogrammer.com/?p=14
Comment by Peter Frueh — January 27, 2007 @ 6:54 pm
Wow, this tool rules! In addition to Dennis’ request, could you make it possible to move the cropSquare around the image with the arrow-keys on my keyboard (i.e. CTRL-LEFT moves the square 1 px to the left every time)? I could then make a 150×150 cropSquare and then move it precisely to where I want it on the image.
As proof-of-concept, I’ve added an additional button to the toolbar, which, once clicked moves the cropSquare 1 pixel to the left:
ImageEditor.cropLeft = function() {
if (ImageEditor.cropSquare.style.display == “none”) { return; }
ImageEditor.cropSquare.style.left = parseInt(ImageEditor.cropSquare.style.left) +
1 + “px”;
}
I don’t, however, seem to get an onkeydown event attached to the ImageEditor to
catch a CTRL-LEFT event. I roughly have written the functions to do this, but am not
able to get them to work.
function handleKey(e) {
if (!e || e == null) var e = window.event;
if (e.keyCode) key = e.keyCode;
else if (e.which) key = e.which - 32;
if (e.ctrlKey && !e.shiftKey) {
switch (key) {
case 38: // right
return cancelEvent(e);
}
}
return true;
}
function cancelEvent(e) {
var e = e || window.event;
e.cancelBubble = true;
if (typeof e.stopPropagation == ‘function’) {
e.stopPropagation();
}
e.returnValue = false;
if (typeof e.preventDefault == ‘function’) {
e.preventDefault();
}
}
However, attaching these functions like this, doesn’t work:
if (document.addEventListener) {
document.addEventListener(”mousemove”, PageInfo.onMouseMove, false);
document.addEventListener(”onkeypress”, function(e) { return handleKey(e);
}, false);
}
else if (document.attachEvent) {
document.attachEvent(”onmousemove”, PageInfo.onMouseMove);
document.attachEvent(”onkeydown”, function(e) { return handleKey(e); });
}
Any help, please? David
Comment by Reveller — January 28, 2007 @ 7:12 am
David: http://www.ajaxprogrammer.com/?p=15
Comment by Peter Frueh — January 28, 2007 @ 9:01 pm
Wow, thanks man! Almost as nice as my example code above
If I were you, I’d realize this is a unique piece of code that has the potential of really becoming some sort of light-weight online Photoshop. My website isn’t online yet, but when it is, I’m sure to publish an article and permlink to your website. Thanks again, David
:)
Comment by Reveller — January 29, 2007 @ 12:28 am
Great tool. Thanks for creating it.
Comment by Mike — February 2, 2007 @ 9:04 pm
Having the image cleared while loading the new version defeats the purpose of using AJAX. You may as well just use normal form submissions that cause page reloads. It would be much better to put the “loading” message on top of the image as it’s processing, so when it suddenly pops up the user can see it change from one to another
Comment by Billy — February 3, 2007 @ 7:13 am
Billy, regarding your “defeats the purpose” comment: Ajax is more than the concept of asynchronicity. The original code from 2+ years ago did use normal form submission, and I can tell you with 100% certainty that applying Ajax technology and principles improved both performance and usability.
Regarding your comment on what would be much better: I released this code under LGPL so programmers could modify it and use it however they wish (e.g. see http://www.andrefiedler.de/dev/ImageEditor/?imageName=frog.jpg). I look forward to seeing your changes.
Comment by Peter Frueh — February 3, 2007 @ 3:47 pm
Cool, can someone please update the croping with this widgit?
http://www.dhtmlgoodies.com/scripts/image-crop/image-crop.html
http://www.dhtmlgoodies.com/index.html?page=ajax
Comment by Patrick — February 6, 2007 @ 9:03 am
i know i’m missing something, but to edit the photo, do i have to put it in all three directories (active/edit/original)?
Comment by jason — February 9, 2007 @ 10:14 pm
i got it. yeah, you do have to put the photo in all three directories. not the greatest way, but hey, the rest of the app kicks major ass.
Comment by jason — February 10, 2007 @ 9:39 am
hey there, me again, just an fyi to others that might use this. It prepends the image filename with a session id. The default length that the code was using was 32 chars, but my server used 26 chars for some reason, so the original code kept making new images that i couldn’t use. To fix this, i had to change the code in the file “processImage.php” around line 48. Hope that helps anybody using this.
Comment by jason — February 10, 2007 @ 2:41 pm
Can someone please update the croping with this widgit?
http://www.dhtmlgoodies.com/scripts/image-crop/image-crop.html
http://www.dhtmlgoodies.com/index.html?page=ajax
That would be awesome!!!
Comment by Patrick — February 17, 2007 @ 9:04 am
How can i do a reverse cropping.,
At the same time if i have a background image with repeat-x repeat- y etc.,
How can i crop it or
how can i do a reverse cropping……. exmple creating a small opening in body background, like a small window size operning.,
Comment by lemurian — February 21, 2007 @ 8:12 pm
Hi,
Loved the program but wondered if if could do more im looking for a simple program to change the colour of the image to either black and white(greyscale) or sepia is it possible and easy to add that function to this script as iv’e benn looking round the script and can’t work it out.
Cheers Adie
Comment by Adrian — March 5, 2007 @ 4:51 am
Adrian: André Fiedler has done some work on the image editor and added the features you’re looking for.
Demo: http://www.andrefiedler.de/dev/ImageEditor/?imageName=frog.jpg
Source: http://www.andrefiedler.de/dev/ImageEditor/ImageEditor.rar
Comment by Peter Frueh — March 5, 2007 @ 8:25 am
I’d love to explore the code and try to add more functions.
I love this piece of work
Comment by livingston samuel — April 11, 2007 @ 11:13 am
the live demo looks great and I’m trying to use this for this web app I’m going to write for an existing php install… not sure what’s going on but its also getting oliver’s error when I tried to run it on the server (loading image… forever)
fyi, the server is running php 4.4.4 and gd is enabled… any suggestions? (or will I have to convince the client to install a seperate instance of php somewhere?)
Comment by Boson — April 18, 2007 @ 7:46 pm
livingston: I’m glad you like it!
Boson: I haven’t come across that problem (other than the concurrency issue I mentioned above).
The first thing I would do is check to see if the the XMLHttpRequests to processImage.php and getImage.php are coming back with errors or if they are failing completely. The easiest way to do this is using Firebug to monitor the request/response info (watch the screencast at http://www.ajaxprogrammer.com/?p=16 for an example).
The second thing you could try is calling getImage.php and processImage.php directly. getImage.php outputs the image, and you call it by entering: pathtoImageEditor/getImage.php?imageName=frog.jpg
This may return some jpeg gobbledygook since the file doesn’t set a header of image/jpeg (something I plan to add in the next iteration), but at least you’ll know that PHP is outputting the image.
Lastly, like you mentioned, some of the image manipulation code in processImage.php may not work in that version of PHP. I can’t say for sure as I haven’t done much research/testing regarding this. If anyone else has knowledge in this area, feel free to chime in.
Good luck!
Comment by Peter Frueh — April 19, 2007 @ 12:34 am
Why don’t use Asido (http://sourceforge.net/projects/asido/) for the server-side ? This will make the application really portable since in this way it will support more than just GD. Asido supports all the basic image transforming functionality, so I think it will match all your requirements. For more information and examples, chek http://asido.info/
Comment by mrasnika — May 4, 2007 @ 9:01 pm
mrasnika: Wow, that looks promising — I may use Asido in the next version of ImageEditor! Thanks for the link.
Comment by Peter Frueh — May 9, 2007 @ 1:52 am
Hi Peter,
I failed the challenge (waited too long?) so I have to re-type my message. Bugger.
I like your script because it isn’t bloated, it makes it easier to understand for a non-javascript programmer. But I unable to add a checkbox to make cropSquare a fixed size (e.g. 100×100px) to make cropped previews.
How would I go about adding that?
Thanks for the video’s by the way! They make it easy to add functionality to a modded script.
Cheers!
Comment by Marc Siepman — May 12, 2007 @ 12:43 am
Marc: Below is a quick solution that will resize the cropSquare and center it on the image. However, if you want to force the user to create a 100×100 thumbnail when a checkbox is checked, the drag events would need to be disabled, the mouse cursor would need to be toggled, etc - it’s a much messier problem to solve. I’m hoping to get more of this functionality and a formal API in the next version but, until then, it’s still wild west programming.
Add this function to the ImageEditor.js file before ImageEditor.addEvent:
ImageEditor.setCropSquareSize = function(w, h){
if (typeof ImageEditor == “undefined” || typeof ImageEditor.cropSquare == “undefined”) {
return;
}
ImageEditor.cropSquare.style.left = PageInfo.getElementLeft(ImageEditor.editorImage) +
PageInfo.getElementWidth(ImageEditor.editorImage)/2 -
w/2 + “px”;
ImageEditor.cropSquare.style.top = PageInfo.getElementTop(ImageEditor.editorImage) +
PageInfo.getElementHeight(ImageEditor.editorImage)/2 -
h/2 + “px”;
ImageEditor.cropSquare.style.width = w + “px”;
ImageEditor.cropSquare.style.height = h + “px”;
ImageEditor.cropSquare.style.display = “block”;
ImageEditor.showCropSize(w, h);
};
Add this button to index.php before the Crop button:
<button onclick=”ImageEditor.setCropSquareSize(100,100)”>Size for Thumbnail</button>
Comment by Peter Frueh — May 12, 2007 @ 2:58 pm
Another advanced Image Manager which is a really powerful Free PHP image editor to resize, crop and rotate your images, just as simple as moving your mouse.
Demo Available Here
Comment by staten — May 13, 2007 @ 3:17 pm
Peter, you are a hero! It works a treat!
To circumvent the problems you describe, I added the following statement (the else part being yours, of course).
if (PageInfo.getElementLeft(ImageEditor.cropSquare)) {
ImageEditor.cropSquare.style.left = PageInfo.getElementLeft(ImageEditor.cropSquare) + “px”;
ImageEditor.cropSquare.style.top = PageInfo.getElementTop(ImageEditor.cropSquare) + “px”;
}
else {
ImageEditor.cropSquare.style.left = PageInfo.getElementLeft(ImageEditor.editorImage) +
PageInfo.getElementWidth(ImageEditor.editorImage)/2 -
w/2 + “px”;
ImageEditor.cropSquare.style.top = PageInfo.getElementTop(ImageEditor.editorImage) +
PageInfo.getElementHeight(ImageEditor.editorImage)/2 -
h/2 + “px”;
}
This way, you can click the whether or not you preselected anything. Thus cropSquare only gets centred if no selection was found.
By the way: according to your videos, you can hold down the cursor to shift the cropSquare, but on Mac/FF2 I can’t. Not really a bug (or maybe in FF?), but I thought you’d might like to know.
Comment by Marc Siepman — May 16, 2007 @ 9:52 am
Hi; very good script !
But I really need to force a ratio on the crop square. How can I do ?
I’ve tryed to add Peter’s and Marc’s functions; but it doesn’t work : when I add it; no picture is loaded anymore.
Thanks a lot !
Benoît
Comment by Gordie — May 28, 2007 @ 3:09 am
Really good script !
I have a suggestion for a tool to add !
It would be great if we could manipulate TEXT (size, font, color) and then put it on the image, and save it !
Just an idea !
Aurélien.
Comment by aurelien — June 9, 2007 @ 6:00 am
It is an amazing script.
I would like to see a ‘load image’ and ’save image to disk’ feature. Is it difficult to include these ones?
Comment by karib — June 22, 2007 @ 2:32 am
Excellent script!
I would like to see an option for loading custom image and an option for saving to disk.
Comment by Karib — June 22, 2007 @ 11:43 am
All you want is sell this script to google?
Why you do not give us the option to save the image?
Comment by moron — July 12, 2007 @ 2:50 am
Needs to have text annotation.
Comment by mgparrish — July 14, 2007 @ 4:32 pm
Hi,
when I uploaded the image editor folder to my server and ran it with /?imageName=frog.jpg
I received a “syntax error on line 42″ which is this line:
var json = eval(”(” + request.responseText + “)”);
I’m using explorer. Do you have any idea whats causing this problem?
Thanks!
awi
Comment by awi — July 26, 2007 @ 3:19 pm
Hi,
the example is great…thank you..
does any one have idea on the follwing issue…
I have a image and on that image i should be able to select an area as if i am going to crop but insted of crop i need to add another image in teh selected area (say a parking symbol P - this symbol is already designed)…how can i do this or any tools i can get online to download?
cheers
Raghu
Comment by Raghu — July 29, 2007 @ 5:46 pm
Are there any plans for an ‘image upload’ or ‘image load’ feature. By adding this one feature would complete the programming cycle of this application. Great stuff!
Comment by Fred — August 21, 2007 @ 8:12 am
“Hi,
when I uploaded the image editor folder to my server and ran it with /?imageName=frog.jpg
I received a “syntax error on line 42″ which is this line:
var json = eval(”(” + request.responseText + “)”);”
I get the exact same error! I do not know why it is happening, but I run Firefox v. 1.5
Great program, thanks you!
Comment by Jeff — September 7, 2007 @ 10:40 am
Hello,
First of all, thanks for this excellent script, it’s awesome!
I was trying to use it in my own CMS application, I been using Prototype/Scriptaculous for quite long time, and I moved your ImageEditor.js to work with protoytpe, if you wish I could send you a copy. Basically I moved the document.getElementById(’foo’); to $(’foo’); and the XMLHttpRequest to prototype’s: Ajax.Request.
So, if you want a copy just tell me where to post it, or I can send you directly to your email!
Saludos desde México!
Omar Fisher
Comment by Omar Fisher — September 24, 2007 @ 4:03 pm
I am getting the same error as Jeff (comment 41).
Comment by rich — October 10, 2007 @ 1:34 am
Thanks. Excellent work. Just now saw the demo.
Will write more after using script.
Comment by Thilip Kumar H — October 17, 2007 @ 2:54 am
Nice mate, stuff like that is really useful, much appreciated.
Comment by Tech Blog — October 28, 2007 @ 3:48 pm
Heeey, most of my sites are using Prototype or Mootools, now with the Joomla default,
I would love to have the prototype version of this script
Comment by colombian — November 4, 2007 @ 10:50 am
Kudos for the script, but I’m having problems working with files over 1meg or larger than 1000 pixels any which way. Large file sizes won’t load at all, and large physical sizes won’t resize unless it’s nearly half as small (and won’t rotate, either, although the crop seems to work).
Comment by Michael — November 14, 2007 @ 9:36 pm
Here is good tutorial for AJAX
http://gohil.dharmesh.googlepages.com/ajax.html
Comment by Ajaxpert — November 16, 2007 @ 5:51 am
Peter, this tool is genius. you should be getting paid by the php website examples team.
anyway, i gave a more detailed review but “failed the test” because you didn’t include parenthesis in your antispam question! my answer was actually the more logical of the two, but this time i’ll try the lesser of the logics.
ok that failed too. luckily i copied the above ready to paste above. attempt 3. this time it will work because there’s only one solution irrespective of parentheses… 0 + 4 × 9 = 36
Comment by Daniel Land — November 20, 2007 @ 8:47 am
Daniel,
I’m using a WordPress plugin called Challenge that auto-generates the questions, so I apologize for its pre-programmed deficit (sigh). I’ll look into it, and thanks for the heads up.
Comment by Peter Frueh — November 20, 2007 @ 11:19 am
This application is great, but I feel it is far from being complete. I’m updated the piece so users can upload their own images and can work with gif images as well.
Comment by Mr. Rogan — November 20, 2007 @ 2:46 pm
UPDATE…..My modifications to the application was successful. Image Uploading with GIF compatibility.
If you would like a copy of the modifications, reply to this comment with an email address to reply to. Thanks.
Comment by Mr. Rogan — November 20, 2007 @ 4:46 pm
can someone really help me in resizing an image and get updated dimensions on a div for example. Also, if i change the dimensions in the div, it has to resize the image automatically. I know it may sound easy but i spent 5 hours looking for something similar but could get anything… please write me back or post it here (richard [at symbol] rock-unique [dot symbol] com)
Cheers
Comment by richard — December 4, 2007 @ 10:26 am
How do i get this to load gif or png files.
I read i need to get a GD file but how do i add it to your image editor.
PS i suck at js and php
Comment by mike — December 8, 2007 @ 6:27 pm
@mike You would have to first convert the gif or png to jpg, and then edit the resulting image. This version of the editor only works with jpg images.
Comment by Peter Frueh — December 8, 2007 @ 6:57 pm
Is there no other way to do it ?
Comment by mike — December 8, 2007 @ 8:44 pm
can someone point me in the way so i can add gif and png files with out having to convert the file to jpg. Or is there a have to convert then befor you load the image ?
Comment by mike — December 9, 2007 @ 9:14 am
Can anyone help me to fine a way to open gif and png files with the cool editor
Comment by mike — December 16, 2007 @ 4:59 pm
For anyone is still having problems with the editor display Loading… forever and using a linux server. I fixed the problem by changing the permissions for the edit/original/active folders.
It seems that if the permissions are incorrect php can find the image but cannot load it for editing.
Thanks for the code, Iam using it to make an ‘image map generator’ for a website and it works great.
Comment by matt — January 10, 2008 @ 7:51 pm
Hello,
I have a question, I need to make a tool like a highlight pen, in order to modify my image, because I need that some parts of my image (a page of text scanned, for example) call the atention.
I have an addition problem, when I’m going to rotate an image with 771 x 1000 px, the program load the message Loading Image, and doesn’t show anything. Why?, is there any restriction in size for rotate function?
Please Help me.
This Tool IS VERY VERY USEFULL, THANKS, but I need the fuction that I mentioned (highlight pen).
THANKS
Comment by RICARDO S. — January 16, 2008 @ 5:51 pm
HOW TO GET WINDOW SIZE USING PHP AND ALSO RESIZE THE IMAGE USING PHP?
Comment by pandi — January 17, 2008 @ 10:49 am
[…] Ajax Image Editor - Is a very powerful image editor script that allows you to crop, resize, and rotate the image. It is fairly easy to implement and it isn’t written with any frameworks. […]
Pingback by List of Image Cropping Scripts | WebTecker the latest tech, web resources and news. — March 24, 2008 @ 1:03 pm
Having problems getting this to work. I think it may be a permissions issue on the folders. I have set these to 777 but still not working. Can anyone help me out? Cheers
Comment by Jasmondo — April 1, 2008 @ 4:22 am
Great stuff, amazingly simple and easy to integrate into nearly anything …
@mike: The editor CAN be made into working with .gif and .png files.
I have made working, by using a “switch” on the file extension like below. You will have to know the extension every time you need to create some image, so you will have to make this change more places - This is the only switch I have in the file “getImage.php”, but the procedure is the same in “processImage.php” just has to be performed more places:
$fileInfo = pathinfo($editDirectory.$imageName);
switch($fileInfo[’extension’])
{
case “jpg” :
$output = imagecreatefromjpeg($editDirectory.$imageName);
imagejpeg($output, “”, 100);
break;
case “jpeg” :
$output = imagecreatefromjpeg($editDirectory.$imageName);
imagejpeg($output, “”, 100);
break;
case “gif” :
$output = imagecreatefromgif($editDirectory.$imageName);
imagegif($output, “”, 100);
break;
case “png” :
$output = imagecreatefrompng($editDirectory.$imageName);
imagepng($output);
break;
default :
$output = imagecreatefromjpeg($editDirectory.$imageName);
imagejpeg($output, “”, 100);
break;
}
Comment by Simon Jensen — April 3, 2008 @ 10:11 am
hi ,plz help me , this application is not showing the images ,so plz tell me how i can see the images on index page
Thanks
ritsri
Comment by ritsri — April 11, 2008 @ 3:14 am
Hey guys… Well tis been a while since anyone has posted it would appear…
I have done some work on this, and have extended it dramatically… It now can handle jpg, gif and png images, and it has the following features:
A pleasant looking pull down menu system
Greyscaling
Sepia
Pencil
Emboss
Blur
Smooth
Invert
Brighten
Darken
All of these have been coded in, and tested.. It is working rather nicely… If peter would like I will email him a copy, for his perusal and if he deems it worthy can share it with all of you
Regards
ps, look forward to speaking with you Peter, and kudos on some awesome code
Comment by David — April 28, 2008 @ 12:40 am
@David: send it my way! My email’s at the bottom of the page.
@Everyone: I’ve received some code enhancements recently and I’m going to put all the updates in a release soon. It doesn’t look like porting this to YUI is going to happen in the near term, so I’m going to put together what I’ve been sent. If you have sent me code, I’m going to use it unless I hear otherwise. I’ll be sure to credit you in the source if it’s used. Things have been really busy lately at Yahoo, but it looks like I may have some time to do this in the next few weeks. Thanks to everyone that’s offered feedback, suggestions and code.
Comment by Peter Frueh — April 28, 2008 @ 2:04 am
Peter, email is on its way, I hope it helps
David
Comment by David — April 29, 2008 @ 7:18 pm
Can we have a demo please? Sounds like a promising program.
Comment by Adaptiv Media — May 18, 2008 @ 4:32 am
I’ve started up my own Ajax Photo Editor project from scratch as this one appears to have been discontinued. I’ve tried to address some of the key features Peter’s version didn’t include such as Filter previews, In-between saving, a larger library of filters you can apply and a few other tweaks here and there. It’s still got a long way to go but here it is..
http://blarnee.com/wp/?page_id=110
Comment by Addy Osmani — June 13, 2008 @ 12:10 pm
Haha. Ah, I just read up one of your more recent posts, Peter. Looks like you one-upped my version with those pencil effects :p
Comment by Addy Osmani — June 13, 2008 @ 12:12 pm
Excellent work! This is a great program
Comment by Steve — June 20, 2008 @ 9:46 am
Was wondering if anyone has made it so that when they click to save the image that it goes to a different URL.
Some hints would be appreciated.
Thanks.
Comment by Darren — June 25, 2008 @ 12:44 pm
Wow, Loving this script.
Is it possible to have the editor load with an image one of my users has uploaded and then when they hit some sort of ‘Save’ button it replaces the file with the newly edited one..
Once again, brilliant script would love to feature something like it in my new website where users edit images, drag them around their page and save the positions. I’ve done everything but the image editing.
Comment by Jake — July 2, 2008 @ 2:30 pm
great work!
Comment by juliano — August 22, 2008 @ 6:31 am