cemoses / grafx2

Automatically exported from code.google.com/p/grafx2
0 stars 0 forks source link

Eyedrop color from screen in palette editor #240

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
When beginning to build a palette, it would be helpful if colors could be
eyedropped from other windows (is this doable in a portable way with the
current build system?). This would be more convenient than using a
screenshot program to take a screenshot of the window you want,loading it
into grafx2, then recording the RGB values and finally switching back to
the main page and editing a palette entry to match.

Actually, it would also help if single colors could be directly transferred
from the spare page's palette (not like the 'get brush colors' action which
copies the used colors into exactly the same palette positions, but taking
a color from the spare page and replacing the one at the cursor position
with it). This would be a lot easier to do.

Original issue reported on code.google.com by 00a...@gmail.com on 5 Nov 2009 at 11:21

GoogleCodeExporter commented 9 years ago
I don't see how we could eyedrop from the whole screen in a portable way. GIMP 
manages to take a screenshot of the whole screen so at least this must be 
possible.

About copying from spare, well, this seems more easy. Let's think about it.

Original comment by pulkoma...@gmail.com on 8 Nov 2009 at 8:47

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
About copying colors between main and spare pages: I just found the function 
"Copy to
spare - some colors" that I didn't really know. You tag a few color entries in
current palette, and their RGB values are copied into the spare's palette, at 
the the
same indices.
IMO this function is very awkward. A more powerful system would be to split the
current "Copy" function in Palette into Copy and Paste:
You would open palette, select a range, Copy, exit palette, switch to spare, 
select a
starting color index, Paste. The buttons could even have shortcuts control-c and
control-v.
The palette screen is very cramped, I know, but I think it would be worth it.

Original comment by yrizoud on 26 Nov 2009 at 11:26

GoogleCodeExporter commented 9 years ago
cramping can be solved by merging some buttons and having a function on right 
click 
(using a white X for the X swap, X inv, etc may work).

Original comment by pulkoma...@gmail.com on 26 Nov 2009 at 6:33

GoogleCodeExporter commented 9 years ago

Original comment by pulkoma...@gmail.com on 15 Jan 2010 at 7:34

GoogleCodeExporter commented 9 years ago

Original comment by pulkoma...@gmail.com on 9 Aug 2010 at 9:43

GoogleCodeExporter commented 9 years ago
https://github.com/attilam/grafx2-colorpick-osx

Something similar to this could be used to grab a color from outside GrafX2. I 
don't know of a command line tool to get the color of a pixel on screen, 
however?

Original comment by pulkoma...@gmail.com on 19 Oct 2012 at 4:04

GoogleCodeExporter commented 9 years ago
If you're going to use an external application, then some possibilities open up.

That could also enable copy+paste on some platforms
(for Linux, sending the textual content you want to copy to "xclip -selection 
clipboard" copies; "xclip -selection clipboard -o" sends current clipboard 
content to stdout.
There's no absolute guarantee it's installed but it's a reasonable dependency 
to have.)

for color picking, we could include downloading and installing 
http://www.muquit.com/muquit/software/grabc/grabc.html in the Grafx2 build 
process on Linux, as it's a very simple program (7k of C code in a single file, 
only dependency is X). I've tested it and it changes the cursor to a crosshair, 
waits for the user to click, then outputs two lines, like:

#8ae22c
138,226,44

We could automatically patch it to only output the first, since we already have 
a parser for hexcodes.

For OSes other than Linux, I have no particular idea what's available. We'd 
need to research whether creating a new process is expensive on any of the 
platforms we need to support. (obviously it's very cheap on Linux, and probably 
also OSX. I believe on older Windows platforms like win98 it's expensive.)

Original comment by 00a...@gmail.com on 20 Oct 2012 at 1:02

GoogleCodeExporter commented 9 years ago
For copypaste, we can add the platform-specific code inside GrafX2. I'll have a 
look at xclip sourcecode to see if we can reuse (part of) it.

As for colorgrabbing, with knowledge about grabc and the osx colorpixker 
script, it's now very easy to make a brush factory script.

Original comment by pulkoma...@gmail.com on 20 Oct 2012 at 12:13

GoogleCodeExporter commented 9 years ago
(BTW, this is 00ai99's new account)

FYI here is a color picking script for GrafX2 using grabc. Feel free to 
distribute it with GrafX2 if you can make it install only on Unix systems, 
since it's so simple.

I actually have two variants: Cycling and non-cycling,  I've bound each to a 
hotkey (F13 for cycling, Shift+F13 for non-cycling). Cycling tends to be very 
useful if you are trying to pick a ramp (eg. from GPick) rather than just a 
single color.

Both variants attached.

Original comment by fintic...@gmail.com on 24 Apr 2013 at 10:16

Attachments: