[Gimp-user] Possible to save layout

2008-01-15 Thread Brian Vanderburg II
I've been using the GIMP for a while and I find that depending one what 
I'm doing I may want a different dialogs layout, but find it annoying to 
constantly rearrange the dialogs.  Is there any way to save the layouts 
as a named layout and reload it later, where it would remember what 
dialogs were docked and what tabs were shown/etc?  If not is there any 
plugin that can do this?

Brian Vanderburg II
___
Gimp-user mailing list
Gimp-user@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-user


[Gimp-user] Brushes/input controllers changes idea

2008-01-05 Thread Brian Vanderburg II
 opacity: 75% (0.75)
Pressure controller: 0.75
Direction controller: 0.75

Results:
1. opacity becomes 56% (0.5625) from Pressure-Opacity
2. opacity becomes 66% (0.6625) from Direction-Opacity

Results if order is switched:
1. opacity becomes 85% (0.85) from Direction-Opacity
2. opacity becomes 63% (0.6375) from Pressure-Opacity

Additional types of controllers and attributes:
I also think it would be nice if there were some additional controllers 
and additional attributes:


Controllers:
   pressure - Same as usual, represents the pressure, only specialized 
devices can use it (tablets)

   tilt - Again only special devices can support it
   rotation - Not the same as 'direction' below, but some devices can 
detect the rotation of the pen on the tablet, or so I've heard
   direction - Based on sampling the position of two points, determine 
the direction of the line from the first point to the second point

   speed - Determine timing between the sampling of two points
   noise - A random source from 0 to 1. This can allow the 'jitter' 
option to be applied to other things, such as jitter the color or size 
as well.
 Note that a 'noise' controller is different than a 
'jitter' attribute  It allows an attribute to be 'randomly' changed.  It 
can even be connected to the 'jitter' attribute to allow the jitter 
radius to be random.


Attributes:
   opacity
   size
   color
   hue
   saturation
   lightness
   gradient - When using a gradient for a stroke, normally it is based 
on the movement of distance.  This would allow a controller to select 
what part of the gradient to use.  The valid range would be from 0 
(start of gradient) to 1 (end of gradient).  The initial value of this 
attribute would be computed as normal (distance into the stroke and the 
length), and adjustment types would still work, absolute specifying an 
exact position, and relative/percent specifying a position offset from 
where it is 'supposed' to be in the gradient
   angle - One useful combination would be to connect a 'direction' 
controller to the 'angle' attribute, so it seems that the brush is 
rotating with the stroke.  This means that 'direction' and 'angle' would 
need to be in the same orientation, either both clockwise or both 
counter clockwise.
   jitter - The position of the applied stroke.  Default value is 0 
(draw where the cursor is), but it can be adjusted by by a controller if 
desired.  For example, a light pressure can draw directly at the given 
position and a hard pressure can increase the jitter radius.


GUI interface:
A new dialog would exist which would allow the creation of the 
controller-attribute chain.  Some features would thus be removed from 
the toolbox.  It may still be desired to have a separate 'chain' per 
tool, similar to how the settings of one tool can be difference from the 
other tool, and when selecting the first tool, it will restore it 
settings like blend mode/etc.  It may be desirable to implement separate 
chains per tool, so when the user selects one tool, it's chain is used, 
and when selecting another tool, it's chain is reloaded and used.


This new dialog would consist of a list-like control that is by default 
empty, with a +/- button to add a new item to the chain.  Pressing '+' 
would insert a new item with default values, '-' would remove the 
selected item, also maybe a '*' to clone the current item.


Attached is a small mock-up of an idea for the interface. It shows 3 
items in the list chain.


*Pressure will adjust the opacity by the current value from 0 to 100 
percent.  If the brush opacity is 75%, then it will vary from 0 to 75% 
based on the pressure.
*Pressure will adjust the size by the current value from -20 to 50.  If 
the brush size is currently 45, it will vary from 20 to 95 based on the 
pressure
*Direction will adjust the angle by an absolute value from 0 to 1.  (0 
to 360 degrees of direction will adjust the angle of the brush from 0 to 
360 degrees).  Since it is absolute, the current brush angle is 
disregarded.  If it was relative, it would be added to the current brush 
angle.  More often, relative would probably be the desired setting and 
not absolute, as the initial 'angle' for the brush may be properly set.  
Also, how this would work for bitmap brushes would be unclear, (the 
bitmap would be rotated, and may loose quality), but if it was a vector 
brush, it would probably work fine as rotation would not cause bad 
quality..


Again this is just an idea that I think would be useful and would love 
to see in a future version.  The code shown is just the idea for 
operation, I don't know much about the actual GIMP code.


Brian Vanderburg II
inline: gui.png___
Gimp-user mailing list
Gimp-user@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-user


[Gimp-user] Math graphics

2007-12-20 Thread Brian Vanderburg II
Is there a plugin (or high speed script-fu) that would allow me to enter 
a math expression and from it create the pixel data also given a 
'viewport range'.

XMin: -1
XMax 1
YMin -1
Ymax: 1
UseGraient: no
Expr: red=sin(2*pi*x*y)/2+0.5;green=...,...

or
UseGradient: yes
Expr: offset=sin(2*pi*x*y)

Or something like that.  I imagine a script-fu could be done that could 
take the viewport, gradient, and expression and somehow execute the 
expression and plot the pixels, but it seems like script-fu would be 
somewhat slow.  I've created my own expression evaluation library which 
would easily provide all the math support I need, but don't know much 
about making GIMP plugins and since I'm only on Windows now I've had 
problems trying to compile glib/gtk under msys/mingw, plus it is C++ 
except an older version which is C.

Brian Vanderburg II

___
Gimp-user mailing list
Gimp-user@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-user


Re: [Gimp-user] suggestion: hide all/reveal all junk

2007-10-14 Thread Brian Vanderburg II
I would also like to see such a feature, as I often want a second view 
opened for work on icons/other things.  There don't appear to be any 
view actions that could be used by script-fu to make a script to do the 
same.

B. A. Vanderburg

Anthony Ettinger wrote:
 I tend to immediately create a new view of a work at original size
 -- and having to constantly uncheck all the boxes show boundary, show
 grid, show this/that/the other thing is rather a pain. Can we get a
 hide/show all visual cues at the bottom of the View menu?


   

___
Gimp-user mailing list
Gimp-user@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-user


Re: [Gimp-user] make image tileable

2007-09-12 Thread Brian Vanderburg II
It would be nice if GIMP supported more types of make seamless.  There 
is a program 'Texture Maker' for windows that supports several things,  
mirroring, kaleidoscope, rotation, etc.

David Gowers wrote:
 filters-map-make seamless

 On 9/12/07, Alan Wolfe [EMAIL PROTECTED] wrote:
   
 Hey guys,

 Is there some way in gimp to take a generic image and make it
 tileable?  I thought there was something in one of the menus but i
 can't find it anymore ... ):
 ___
 Gimp-user mailing list
 Gimp-user@lists.XCF.Berkeley.EDU
 https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-user

 
 ___
 Gimp-user mailing list
 Gimp-user@lists.XCF.Berkeley.EDU
 https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-user
   

___
Gimp-user mailing list
Gimp-user@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-user


Re: [Gimp-user] Create layered animation from a tiled animation.

2007-09-11 Thread Brian Vanderburg II

[EMAIL PROTECTED] wrote:

Quoting Brian Vanderburg II [EMAIL PROTECTED]:

  

Out of need I created a script and finally got it working even on 2.3.18.

Normally an animation is either done as one layer for each frame or
using GIMP Animation Package one file per frame.  With the first
method, it is not possible to have multiple layers per frame since a
layer is a frame.  With the second, multiple files must be kept.  While
GAP is good, for simple animations it would be easier to just store
each frame in one image side by side.



I would propose you consider modifying your script to handle the more  
generic case of multiple rows of tiles. Your dialog would need an  
additional entry for Tile Height and could provide a Use image  
height (ie, Single Row) checkbox for convenience.





___
Gimp-user mailing list
Gimp-user@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-user
  
I've made those changes and more.  It supports frame width (0 for image 
width), frame height (0 for image height) frame count (0 for rows * col) 
in case there are 3x3 rows but only say 7 frames, and direction (left to 
right then top to bottom or top to bottom then left to right).


It may only work with gimp 2.3+ since it uses the function 'floor' and I 
don't know if gimp 2.2 has it.


I have attached it here if anyone is interested and I will try and 
submit it to the register.
;; tile2anim.scm -*-scheme-*-
;; Converts a tiled animation to a layered animation
;; A tiled animation is one where each frame of the animation
;; is tiled across the image horizontally.  For example,
;; a 48x48 30 frame animation would be an image with the
;; size 1440x48.  Frame 1 is at (0,0)-(47,47), 2 at (48,0)-(95,47)
;; and so on
;; 
;; Version 1.2
;;
;; Copyright (C) 2007 by Brian Vanderburg II
;; [EMAIL PROTECTED]
;; 
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU General Public License
;; as published by the Free Software Foundation; either version 2
;; of the License, or (at your option) any later version.
;; 
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.
;; 
;; You should have received a copy of the GNU General Public License
;; along with this program; if not, write to the Free Software
;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
;;

; Internal function to create the layered animation
(define (script-fu-tile2anim img drw frameWidth frameHeight frameCount 
frameDirection)

  (let*
(
  (theWidth)
  (theHeight)
  (theCols)
  (theRows)
  (theCol)
  (theRow)
  (theImage)
  (theLayer)
  (framePos)
  (tmpLayer)
)

; get image information
(set! theWidth (car (gimp-image-width img)))
(set! theHeight (car (gimp-image-height img)))

; create new image and layer
(set! theImage (car (gimp-image-new theWidth theHeight RGB)))
(set! theLayer (car (gimp-layer-new theImage theWidth theHeight RGBA-IMAGE 
TMP 100 NORMAL-MODE)))

(gimp-image-add-layer theImage theLayer 0)
(gimp-drawable-fill theLayer TRANSPARENT-FILL)

; copy visible portion of image
(gimp-selection-none img)

(if (= (car (gimp-edit-copy-visible img)) TRUE)
  (begin
(gimp-rect-select theImage 0 0 theWidth theHeight CHANNEL-OP-REPLACE 0 
0)
(gimp-floating-sel-anchor (car (gimp-edit-paste theLayer FALSE)))
  )
)

; frame width
(if (= frameWidth 0) (set! frameWidth theWidth) )

; frame height
(if (= frameHeight 0) (set! frameHeight theHeight) )

; number of columns and rows
(set! theCols (floor (/ theWidth frameWidth)) )
(set! theRows (floor (/ theHeight frameHeight)) )

; number of frames
(if (= frameCount 0)
  (set! frameCount (* theCols theRows))
  (if ( frameCount (* theCols theRows)) (set! frameCount (* theCols 
theRows)))
)

; process frames
(set! framePos 0)
(set! theCol 0)
(set! theRow 0)

(while ( framePos frameCount)

  ; create new layer and add it to image
  (set! tmpLayer (car (gimp-layer-new theImage frameWidth frameHeight 
RGBA-IMAGE Layer 100 NORMAL-MODE)))
  (gimp-image-add-layer theImage tmpLayer -1)
  (gimp-drawable-fill tmpLayer TRANSPARENT-FILL)
  
  ; copy
  (gimp-rect-select theImage (* theCol frameWidth) (* theRow frameHeight) 
frameWidth frameHeight CHANNEL-OP-REPLACE 0 0)
  
  (if (= (car (gimp-edit-copy theLayer)) TRUE)
(begin
  (gimp-rect-select theImage 0 0 frameWidth theHeight 
CHANNEL-OP-REPLACE 0 0)
  (gimp-floating-sel-anchor (car (gimp-edit-paste

Re: [Gimp-user] 16 Bit files

2007-07-11 Thread Brian Vanderburg II
I frequently use the GIMP for patterns/fractals that are to be used as 
height fields.  For this, it would be nice if 16bit gray scale was 
available.  I figure GIMP will eventually have 16bit support.

B. Vanderburg II

David Marrs wrote:
 David Southwell wrote:
   
 Anyone...
 Finally does anyone have a handle on the timeframe for 2.4??

 
 Not really. I think you'll just have to be patient.

 Incidentally, unless you've got a pro camera and lens, a high quality, 
 properly 
 calibrated monitor and a very good printer, I really don't think you're going 
 to 
 benefit from the extra bit depth. Probably you know this already but I 
 suspect 
 many people out there are under the mistaken impression that they're losing 
 quality if they use Gimp when really they're not.

 For a while I've been using Gimp in preference to Cinepaint because I felt 
 that 
 8bpc was good enough and well worth the tiny sacrifice in quality for the 
 massive gains in usability. But I was surprised to learn from a pro 
 photographer 
 friend recently that he forces his Photoshop down to 8-bits because, even 
 with 
 his set-up, he couldn't see the difference in quality. And he makes the 
 reasonable point that he doesn't want to be manipulating bits he can't see.

 --- Scanned by M+ Guardian Messaging Firewall ---


 ___
 Gimp-user mailing list
 Gimp-user@lists.XCF.Berkeley.EDU
 https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-user
   

___
Gimp-user mailing list
Gimp-user@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-user


Re: [Gimp-user] Locking layers

2007-06-27 Thread Brian Vanderburg II
The chain isn't a lock it is a link.  The layers are linked together so 
that moving one of the linked layers will move the other as well.

B. Vanderburg

Victor Domingos wrote:
 Hi!

 Is there an easy way to lock one or more layers, so that one cannot  
 move or change them by any other way? I thought that was the function  
 of the little chain icons in the layer windows, but they seem to do  
 nothing... By the way, what are they for?

 Thanks,
 Victor Domingos



 ___
 Gimp-user mailing list
 Gimp-user@lists.XCF.Berkeley.EDU
 https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-user
   

___
Gimp-user mailing list
Gimp-user@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-user