Pages: 1 ... 4 5 6 [7] 8 9 10 11   Go Down
Send this topic | Print
Author Topic: Imagine-ng -- the Javascript Photomanipulator  (Read 27130 times)
inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
*****
Offline Offline

Posts: 15633


experimental theologian


WWW
« Reply #120 on: August 19, 2007, 01:45:14 AM »

Damn straight; thanks, Diemux. I forgot I changed the URL to Imagine. And iCanD lacks MySQL rofl.

Wow. Affine transformations are sexy. I had to brush up on some stuff I learned in highschool (never thought I'd touch this stuff ever again), but it was worth it. Imagine now has a new operation that rotates, flips, scales, and shears all in one step! How's that for matrix operations?

I've got to go to work now, but I'll improve this operator when I have time. Meanwhile, you can read more -- http://www.inportb.com/wp/index.php/2007/08/16/affine-transformations-are-here/

Well, here goes -- a new icon and a new splash screen in preparation for the first formal release... (I still have to polish the affine transformation code before that release)

Logged

Hi! I’m a signature virus! Add me to your signature to help me spread.
spam me: ispamspot@gmail.com

blog | my work @ deviantART | Imagine-ng image editor
antimatter15
Loyal 110MB Member
*******
Online Online

Posts: 4081


WWW
« Reply #121 on: August 19, 2007, 10:38:41 AM »

you have a dead link in the imagine page on your site. the link with "Launch using Web Start"

so you've made it use java 1.1.6? presumably for rhino?

you might have even more blurs than photoshop. and did you make the splash screen for imagine in imagine? or in gimp, edited with imagine.
« Last Edit: August 19, 2007, 10:43:52 AM by antimatter15 » Logged

Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
*****
Offline Offline

Posts: 15633


experimental theologian


WWW
« Reply #122 on: August 20, 2007, 03:06:40 AM »

Hey hey, thanks for checking. I know about that dead link already, and it explains in my note at the top =p
As soon as my directory goes into full read-write mode, I'll upload the binary, but right now it's read-only. wink

But if you want to try this now, I've packaged it as a download, so you can bypass Web Start:
http://www.inportb.com/projects/imagine/imagine.zip
Note that it's not guaranteed to be the most current version. I simply added some local file access routines that worked both normally and from within Web Start. Just type "java -jar imagine.jar" or use one of the convenience scripts.

It's used 1.6 since forever. I didn't want to base it on 1.5 even though most people still have that -- by the time I implement all those emerging features, I'd expect 1.6 to be more mainstream. lol. And by then, I hope Macs would have a standard JRE 1.6...

Oh yeah, the splash was composited in Imagine. The text was generated in Photoshop, because Imagine can't do text or gradients yet, but it does do a pretty good job compositing. The beveled edges could have been done using a Photoshop layer effect, but I went instead with my own overlay in Imagine.
« Last Edit: August 21, 2007, 02:43:19 AM by inportb » Logged

Hi! I’m a signature virus! Add me to your signature to help me spread.
spam me: ispamspot@gmail.com

blog | my work @ deviantART | Imagine-ng image editor
antimatter15
Loyal 110MB Member
*******
Online Online

Posts: 4081


WWW
« Reply #123 on: August 20, 2007, 07:20:57 AM »

Hey hey, thanks for checking. I know about that dead link already, and it explains in my note at the top =p
As soon as my directory goes into full read-write mode, I'll upload the binary, but right now it's read-only. wink

But if you want to try this now, I've packaged it as a download, so you can bypass Web Start:
http://www.badongo.com/file/4093268
Note that it's not guaranteed to be the most current version. I simply added some local file access routines that worked both normally and from within Web Start. Just type "java -jar imagine.jar" or use one of the convenience scripts.

It's used 1.6 since forever. I didn't want to base it on 1.5 even though most people still have that -- by the time I implement all those emerging features, I'd expect 1.6 to be more mainstream. lol. And by then, I hope Macs would have a standard JRE 1.6...

Oh yeah, the splash was composited in Imagine. The text was generated in Photoshop, because Imagine can't do text or gradients yet, but it does do a pretty good job compositing. The beveled edges could have been done using a Photoshop layer effect, but I went instead with my own overlay in Imagine.
Photoshop? I though you used linux?
Logged

Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
*****
Offline Offline

Posts: 15633


experimental theologian


WWW
« Reply #124 on: August 21, 2007, 02:46:20 AM »

I do use Linux. And I don't see anything wrong with using Photoshop CS2 on Linux... Am I missing something? :-P

The filesystem is now out of read-only mode; I've updated the link and the files!
Logged

Hi! I’m a signature virus! Add me to your signature to help me spread.
spam me: ispamspot@gmail.com

blog | my work @ deviantART | Imagine-ng image editor
antimatter15
Loyal 110MB Member
*******
Online Online

Posts: 4081


WWW
« Reply #125 on: August 21, 2007, 04:46:12 AM »

I do use Linux. And I don't see anything wrong with using Photoshop CS2 on Linux... Am I missing something? :-P

The filesystem is now out of read-only mode; I've updated the link and the files!
I didnt know that photoshop worked in linux without wine. or are you using wine?
Logged

Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
*****
Offline Offline

Posts: 15633


experimental theologian


WWW
« Reply #126 on: August 21, 2007, 05:15:29 AM »

Yeah, I'm using Wine. smiley
Logged

Hi! I’m a signature virus! Add me to your signature to help me spread.
spam me: ispamspot@gmail.com

blog | my work @ deviantART | Imagine-ng image editor
antimatter15
Loyal 110MB Member
*******
Online Online

Posts: 4081


WWW
« Reply #127 on: August 21, 2007, 05:59:47 AM »

Yeah, I'm using Wine. smiley
Isn't there a project for running Mac OS X apps on linux?
Logged

Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
*****
Offline Offline

Posts: 15633


experimental theologian


WWW
« Reply #128 on: August 21, 2007, 06:04:42 AM »

There might be, and I've heard something in that direction, but it's either nonexistant or very primitive.

Hm. I'm going to add clipboard support. People these days pretty much expect to be able to use the clipboard to transfer random data...
Logged

Hi! I’m a signature virus! Add me to your signature to help me spread.
spam me: ispamspot@gmail.com

blog | my work @ deviantART | Imagine-ng image editor
antimatter15
Loyal 110MB Member
*******
Online Online

Posts: 4081


WWW
« Reply #129 on: August 21, 2007, 08:21:20 AM »

There might be, and I've heard something in that direction, but it's either nonexistant or very primitive.

Hm. I'm going to add clipboard support. People these days pretty much expect to be able to use the clipboard to transfer random data...
Won't it be hard to implement cross-platform copy/paste in java?
Logged

Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
*****
Offline Offline

Posts: 15633


experimental theologian


WWW
« Reply #130 on: August 21, 2007, 05:45:27 PM »

Surprisingly, it's not that hard. I currently have rudimentary support for moving strings and images around on the system clipboard, across applications, whatever the system may be. The only problem I have run into so far is access control. When run locally, there's no problem. When run via JNLP, it doesn't have permission to access the clipboard (makes sense in terms of security). So I have it ask the user for permission to remove the restriction, and the dialog box looks the same as the open/save permission box. The box is popped every time the clipboard is accessed, unless you check the checkbox in the dialog. I can certainly sign the jar to replace all this permission mumbo-jumbo with a dialog at launch-time, and I intend to do that sometime.

As of now, the app can be run both locally and through JNLP. When run locally, it uses the standard set of routines for accessing system data; when run through JNLP, it asks the user for permission. It's able to detect its launch method (yay!), so everything is cool.

What would be cooler, though, is if I could manage a private clipboard in case the system clipboard is not available. This means that you can copy and paste within the app, and across different instances of the app, but not touch the system clipboard at all.

Wow, this is mad slick. I recalled that I was able to copy, cut, and paste stuff on Swing text fields, across applications, without any permission problems under Web Start. Most notably, you can copy and paste text in the open/save dialogs.

So I thought... hmmmmmm... this stuff is part of my app, right? Why doesn't it require extra privileges? Well... I figured that it's because it's part of the default Java package, and that it's trusted by default. So I went to work tweaking Swing, and ended up with a working clipboard solution that does its job through a special Swing component that I brewed, without access control issues. Note, though, that Swing doesn't let me mess with the system the way that the other method did, so you're still safe =D

Can anyone try this? I've temporarily disabled the menu entries for the clipboard ops, but you should still be able to do ctrl+c and ctrl+v. If you have a selection, the selected portion of the layer is copied. If not, the whole layer is copied. If the layer is a compound layer, the render, not the underlying layers, is copied to save resources. Just paste directly into a project or another application. The KDE image editors that I tried copying from always segfaulted when I pasted into Imagine. I figured that this is a problem with Java on Linux. Does this work on Windows?
Logged

Hi! I’m a signature virus! Add me to your signature to help me spread.
spam me: ispamspot@gmail.com

blog | my work @ deviantART | Imagine-ng image editor
antimatter15
Loyal 110MB Member
*******
Online Online

Posts: 4081


WWW
« Reply #131 on: August 21, 2007, 07:47:47 PM »

Surprisingly, it's not that hard. I currently have rudimentary support for moving strings and images around on the system clipboard, across applications, whatever the system may be. The only problem I have run into so far is access control. When run locally, there's no problem. When run via JNLP, it doesn't have permission to access the clipboard (makes sense in terms of security). So I have it ask the user for permission to remove the restriction, and the dialog box looks the same as the open/save permission box. The box is popped every time the clipboard is accessed, unless you check the checkbox in the dialog. I can certainly sign the jar to replace all this permission mumbo-jumbo with a dialog at launch-time, and I intend to do that sometime.

As of now, the app can be run both locally and through JNLP. When run locally, it uses the standard set of routines for accessing system data; when run through JNLP, it asks the user for permission. It's able to detect its launch method (yay!), so everything is cool.

What would be cooler, though, is if I could manage a private clipboard in case the system clipboard is not available. This means that you can copy and paste within the app, and across different instances of the app, but not touch the system clipboard at all.

Wow, this is mad slick. I recalled that I was able to copy, cut, and paste stuff on Swing text fields, across applications, without any permission problems under Web Start. Most notably, you can copy and paste text in the open/save dialogs.

So I thought... hmmmmmm... this stuff is part of my app, right? Why doesn't it require extra privileges? Well... I figured that it's because it's part of the default Java package, and that it's trusted by default. So I went to work tweaking Swing, and ended up with a working clipboard solution that does its job through a special Swing component that I brewed, without access control issues. Note, though, that Swing doesn't let me mess with the system the way that the other method did, so you're still safe =D

Can anyone try this? I've temporarily disabled the menu entries for the clipboard ops, but you should still be able to do ctrl+c and ctrl+v. If you have a selection, the selected portion of the layer is copied. If not, the whole layer is copied. If the layer is a compound layer, the render, not the underlying layers, is copied to save resources. Just paste directly into a project or another application. The KDE image editors that I tried copying from always segfaulted when I pasted into Imagine. I figured that this is a problem with Java on Linux. Does this work on Windows?
Hmm, it's not working on windows. Have you updated javaws yet? Because I don't think I saw it update the files right before it ran///
But using swing.... can't you only copy/paste text?
Private clipboard, eh? that's what I use, since there isnt any real access to the native clipboard in js.
Logged

Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
*****
Offline Offline

Posts: 15633


experimental theologian


WWW
« Reply #132 on: August 22, 2007, 03:24:15 AM »

The jar is updated, and the jnlp is supposed to check for a new version. If, in the version you were running, the 'edit' menu was grayed out, then you had the right version. I'm going to check this out in windows myself. Done that. It works fine... Maybe your version didn't update correctly.

Again, the link is http://www.inportb.com/projects/imagine/imagine.jnlp

Indeed, one used to be able to mess with the clipboard in js, but it constituted a rather big and invisible security hole. Java Web Start also limits access to the clipboard, but I was able to circumvent it by either asking the user for permission, or by helping myself to permission through Swing evil

No, Swing only does the clipboard for text editing components, but that doesn't mean I can't attach the clipboard to another component -- all Swing components are inherently capable of accessing the clipboard, but only the text editors are configured to do so. And with a bit of tweaking, any data can be transferred.

However, while I can transfer anything within an instance of Imagine or across instances, the options are limited when dealing with other applications. So I can transfer an image, but not an Imagine layer. So when transferring a layer, I plan to put the render on the system clipboard, but maintain a pointer to the real thing, allowing applications that know how to deal with the extra data access to the layer.
Logged

Hi! I’m a signature virus! Add me to your signature to help me spread.
spam me: ispamspot@gmail.com

blog | my work @ deviantART | Imagine-ng image editor
antimatter15
Loyal 110MB Member
*******
Online Online

Posts: 4081


WWW
« Reply #133 on: August 22, 2007, 07:19:15 AM »

The jar is updated, and the jnlp is supposed to check for a new version. If, in the version you were running, the 'edit' menu was grayed out, then you had the right version. I'm going to check this out in windows myself. Done that. It works fine... Maybe your version didn't update correctly.

Again, the link is http://www.inportb.com/projects/imagine/imagine.jnlp

Indeed, one used to be able to mess with the clipboard in js, but it constituted a rather big and invisible security hole. Java Web Start also limits access to the clipboard, but I was able to circumvent it by either asking the user for permission, or by helping myself to permission through Swing evil

No, Swing only does the clipboard for text editing components, but that doesn't mean I can't attach the clipboard to another component -- all Swing components are inherently capable of accessing the clipboard, but only the text editors are configured to do so. And with a bit of tweaking, any data can be transferred.

However, while I can transfer anything within an instance of Imagine or across instances, the options are limited when dealing with other applications. So I can transfer an image, but not an Imagine layer. So when transferring a layer, I plan to put the render on the system clipboard, but maintain a pointer to the real thing, allowing applications that know how to deal with the extra data access to the layer.
Oh, I was using imagine.inportb.com/javaws, you should update that link.
Logged

Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
*****
Offline Offline

Posts: 15633


experimental theologian


WWW
« Reply #134 on: August 22, 2007, 07:29:23 AM »

What link? If I haven't missed anything, all valid links currently point to the most recent pre-release. The previous link has been discontinued =p
Logged

Hi! I’m a signature virus! Add me to your signature to help me spread.
spam me: ispamspot@gmail.com

blog | my work @ deviantART | Imagine-ng image editor
antimatter15
Loyal 110MB Member
*******
Online Online

Posts: 4081


WWW
« Reply #135 on: August 22, 2007, 07:32:31 AM »

What link? If I haven't missed anything, all valid links currently point to the most recent pre-release. The previous link has been discontinued =p
ya, i know. but i was using that. and somehow, for me, getting past the open dialog, is like playing the lottery. I can't open files 3/4 times i try shocked
Logged

Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
*****
Offline Offline

Posts: 15633


experimental theologian


WWW
« Reply #136 on: August 22, 2007, 08:26:44 AM »

Eh? What kinds of things are you opening, and what happens when you open a file?

Regression testing has revealed some serious bugs; I've rolled the codebase back to what it was before I added clipboard support and enhanced blending support. I'll continue work from there... after I get back from dinner.

Grr... a tiny bug. I decided to get smart and ended up breaking things...
« Last Edit: August 22, 2007, 03:36:08 PM by inportb » Logged

Hi! I’m a signature virus! Add me to your signature to help me spread.
spam me: ispamspot@gmail.com

blog | my work @ deviantART | Imagine-ng image editor
antimatter15
Loyal 110MB Member
*******
Online Online

Posts: 4081


WWW
« Reply #137 on: August 22, 2007, 09:05:43 AM »

Eh? What kinds of things are you opening, and what happens when you open a file?

Regression testing has revealed some serious bugs; I've rolled the codebase back to what it was before I added clipboard support and enhanced blending support. I'll continue work from there... after I get back from dinner.
The open-file dialog just doesn't open.
Logged

Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
inp o҉rtb
The Gangsta
Global Moderator
Official 110mb Guru
*****
Offline Offline

Posts: 15633


experimental theologian


WWW
« Reply #138 on: August 22, 2007, 02:48:26 PM »

Do you get the security warning, at least?
Logged

Hi! I’m a signature virus! Add me to your signature to help me spread.
spam me: ispamspot@gmail.com

blog | my work @ deviantART | Imagine-ng image editor
antimatter15
Loyal 110MB Member
*******
Online Online

Posts: 4081


WWW
« Reply #139 on: August 23, 2007, 06:30:27 AM »

Do you get the security warning, at least?
yeah. then when I press "ok" it stops working.
Logged

Ajax Animator, a web-based, collaborative animation authoring environment with Flash, Silverlight, and GIF export.
Pages: 1 ... 4 5 6 [7] 8 9 10 11   Go Up
Send this topic | Print
Jump to: