Welcome, Guest |
You have to register before you can post on our site.
|
Latest Threads |
Need help transforming im...
Forum: General questions
Last Post: sallyanne
Yesterday, 11:34 AM
» Replies: 4
» Views: 160
|
Has anyone noticed this?
Forum: Scripting questions
Last Post: trandoductin
01-16-2025, 07:43 AM
» Replies: 5
» Views: 285
|
Affordable Tools to Color...
Forum: General questions
Last Post: sallyanne
01-15-2025, 11:23 PM
» Replies: 3
» Views: 203
|
written text to LASER
Forum: General questions
Last Post: rich2005
01-14-2025, 04:12 PM
» Replies: 1
» Views: 127
|
Grid Pencil Misallignment
Forum: General questions
Last Post: Abdullah2025
01-13-2025, 09:45 PM
» Replies: 7
» Views: 345
|
right dock window gets wi...
Forum: General questions
Last Post: rich2005
01-13-2025, 07:51 PM
» Replies: 7
» Views: 246
|
Change color of edited te...
Forum: General questions
Last Post: Ofnuts
01-13-2025, 09:41 AM
» Replies: 3
» Views: 367
|
GEGL Negative Darkroom pr...
Forum: Extending the GIMP
Last Post: denzjos
01-13-2025, 09:34 AM
» Replies: 1
» Views: 167
|
Gimp 3.x scanner xsane pl...
Forum: Gimp 2.99 & Gimp 3.0
Last Post: rich2005
01-12-2025, 09:54 AM
» Replies: 1
» Views: 242
|
My first python plugin re...
Forum: Scripting questions
Last Post: origamifreak2
01-11-2025, 10:08 PM
» Replies: 16
» Views: 1,118
|
|
|
Anyone Else Having Unresponsive Issues |
Posted by: dadada_486 - 10-07-2017, 10:26 PM - Forum: General questions
- Replies (2)
|
|
Hello,
I am running Gimp on Mac OS Sierra. However, i'm having quite serios unresponsive issue. Its almost like a crash, where for example you try to export a photo and the buttons become unresponsive and you can do nothing but cancel the window. The only fix is to reload and hop it doesn't occur. Any fixes for this?
|
|
|
Noise filter now defaults to red but I want B&W |
Posted by: Andyx5 - 10-07-2017, 07:57 PM - Forum: General questions
- Replies (3)
|
|
Hello,
Just started using GIMP and am trying to get to grips with creating space images. To get my star field I am using the Noise filter but for some unfathomable reason, the 'stars' keep coming out red instead of white. I've tried every reset but nothing helps. I don't know why or how this happened. Can anyone help? I saw somebody with the same issue posted to the old forum in 2010 and a reply suggested using saturation = 0. This has not helped me.
Thanking you in advance.
|
|
|
How to change a script to work with alpha channel? |
Posted by: mholder - 10-06-2017, 03:17 PM - Forum: General questions
- Replies (5)
|
|
There is a script called 'tile_shuffle.scm', and I want to edit it a little.
This script does not work with alpha channels. Is there any way to edit it to shuffle tiles with alpha values?
Here's the script:
Code:
; tile_shuffle.scm
; by Rob Antonishen
; http://ffaat.pointclark.net
; Version 1.0 (20090118)
; Description
; Shuffles tiles of the image
; License:
;
; 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.
;
; The GNU Public License is available at
; http://www.gnu.org/copyleft/gpl.html
(define (script-fu-tile_shuffle img inLayer inX inY)
(let* (
(width (car (gimp-image-width img)))
(height (car (gimp-image-height img)))
(inX (min inX width))
(inY (min inY height))
(xTiles (trunc (/ width inX)))
(yTiles (trunc (/ height inY)))
(tile1 0)
(newlayer 0)
(x0 0)
(y0 0)
(x1 0)
(y1 0)
(counter 0)
(swap 0)
(temp 0)
(tilelist (cons-array (* xTiles yTiles) 'double))
(mode (car (gimp-layer-get-mode inLayer)))
)
(gimp-context-push)
(gimp-image-undo-group-start img)
; set up progress bar
(gimp-progress-set-text _"Shuffling Tiles")
;fill list
(while (< counter (* xTiles yTiles))
(begin
(aset tilelist counter counter)
(set! counter (+ counter 1))
)
)
;shuffle list
(while (> counter 1)
(begin
(set! swap (rand counter))
(set! counter (- counter 1))
(set! temp (vector-ref tilelist counter))
(aset tilelist counter (vector-ref tilelist swap))
(aset tilelist swap temp)
)
)
;create a working layer
(set! newlayer (car (gimp-layer-new-from-drawable inLayer img)))
(gimp-image-add-layer img newlayer (car (gimp-image-get-layer-position img inLayer)))
(gimp-layer-set-mode newlayer NORMAL-MODE)
;cut and paste tiles based on the shuffled array
(set! counter 0)
(while (< counter (* xTiles yTiles) )
(begin
(gimp-progress-update (/ counter (+ (* xTiles yTiles) (if (> (remainder width inX) 0) yTiles 0) (if (> (remainder height inY) 0) xTiles 0) ))) ;update progress bar
(set! x0 (* (* (remainder counter xTiles)) inX))
(set! y0 (* (trunc (/ counter xTiles)) inY))
(set! x1 (* (* (remainder (vector-ref tilelist counter) xTiles)) inX))
(set! y1 (* (trunc (/ (vector-ref tilelist counter) xTiles)) inY))
(gimp-rect-select img x0 y0 inX inY CHANNEL-OP-REPLACE FALSE 0)
(gimp-edit-copy inLayer)
(set! tile1 (car (gimp-edit-paste newlayer FALSE)))
(set! tile1 (car (gimp-drawable-transform-2d-default tile1 x0 y0 1 1 0 x1 y1 FALSE 0)))
(set! counter (+ counter 1))
)
)
(gimp-floating-sel-anchor tile1)
;edge tiles
(if (> (remainder width inX) 0)
(begin
(set! tilelist (cons-array yTiles 'double))
(set! counter 0)
;fill list
(while (< counter yTiles)
(begin
(aset tilelist counter counter)
(set! counter (+ counter 1))
)
)
;shuffle list
(while (> counter 1)
(begin
(set! swap (rand counter))
(set! counter (- counter 1))
(set! temp (vector-ref tilelist counter))
(aset tilelist counter (vector-ref tilelist swap))
(aset tilelist swap temp)
)
)
;vertical edge
(set! x0 (* xTiles inX))
(set! x1 (* xTiles inX))
;cut and paste tiles based on the shuffled array
(set! counter 0)
(while (< counter yTiles)
(begin
(gimp-progress-update (/ (+ counter (* xTiles yTiles)) (+ (* xTiles yTiles) (if (> (remainder width inX) 0) yTiles 0) (if (> (remainder height inY) 0) xTiles 0)))) ;update progress bar
(set! y0 (* counter inY))
(set! y1 (* (vector-ref tilelist counter) inY))
(gimp-rect-select img x0 y0 (remainder width inX) inY CHANNEL-OP-REPLACE FALSE 0)
(gimp-edit-copy inLayer)
(set! tile1 (car (gimp-edit-paste newlayer FALSE)))
(set! tile1 (car (gimp-drawable-transform-2d-default tile1 x0 y0 1 1 0 x1 y1 FALSE 0)))
(set! counter (+ counter 1))
)
)
(gimp-floating-sel-anchor tile1)
)
)
;edge tiles
(if (> (remainder height inY) 0)
(begin
(set! tilelist (cons-array xTiles 'double))
(set! counter 0)
;fill list
(while (< counter xTiles)
(begin
(aset tilelist counter counter)
(set! counter (+ counter 1))
)
)
;shuffle list
(while (> counter 1)
(begin
(set! swap (rand counter))
(set! counter (- counter 1))
(set! temp (vector-ref tilelist counter))
(aset tilelist counter (vector-ref tilelist swap))
(aset tilelist swap temp)
)
)
;horizontal edge
(set! y0 (* yTiles inY))
(set! y1 (* yTiles inY))
;cut and paste tiles based on the shuffled array
(set! counter 0)
(while (< counter xTiles)
(begin
(gimp-progress-update (/ (+ counter (* xTiles yTiles) xTiles) (+ (* xTiles yTiles) (if (> (remainder width inX) 0) yTiles 0) (if (> (remainder height inY) 0) xTiles 0)))) ;update progress bar
(set! x0 (* counter inX))
(set! x1 (* (vector-ref tilelist counter) inX))
(gimp-rect-select img x0 y0 inX (remainder height inY) CHANNEL-OP-REPLACE FALSE 0)
(gimp-edit-copy inLayer)
(set! tile1 (car (gimp-edit-paste newlayer FALSE)))
(set! tile1 (car (gimp-drawable-transform-2d-default tile1 x0 y0 1 1 0 x1 y1 FALSE 0)))
(set! counter (+ counter 1))
)
)
(gimp-floating-sel-anchor tile1)
)
)
(set! inLayer (car (gimp-image-merge-down img newlayer EXPAND-AS-NECESSARY)))
(gimp-layer-set-mode inLayer mode)
(gimp-progress-end)
(gimp-image-undo-group-end img)
(gimp-displays-flush)
(gimp-context-pop)
)
)
(script-fu-register "script-fu-tile_shuffle"
"<Image>/Filters/Distorts/_Tile Shuffle..."
"Shuffles image tiles"
"Rob Antonishen"
"Rob Antonishen"
"Jan 2009"
"RGB* GRAY*"
SF-IMAGE "Image" 0
SF-DRAWABLE "Drawable" 0
SF-ADJUSTMENT "Tile X Size" (list 100 4 1000 1 10 0 SF-SLIDER)
SF-ADJUSTMENT "Tile Y Size" (list 100 4 1000 1 10 0 SF-SLIDER)
)
|
|
|
|