[Gimp-user] Possible to save layout
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
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
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
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
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.
[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
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
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