Not that it really matters, but I just upgraded from 3.0.0 to 3.0.2 (Windows) and noticed that the splash graphic that displays on screen while the program is loading still says 3.0.0 in its bottom right hand corner...
I made a PDF (Export as PDF) from a multilayered file. It had transparency (Acrobat > Preflight > List transparent objects). I flattened the file, exported as PDF, and it had transparency. I exported the flattened file to JPG, then exported the JPG to PDF, and it had transparency!
To further focus in on the potential solution or problem, I:
created a JPG in XnView
opened it in GIMP, then exported it as a JPG
closed the file, then opened the GIMP produced JPG
exported it to PDF, using default settings
checked the transparency in Acrobat: "Transparency used." (A, in attachment)
To test this, I repeated the steps using Affinity Photo, I:
used the JPG from XnView
opened it in Affinity Photo, then exported it as a JPG
closed the file, then re-opened the Affinity Photo produced JPG
exported it to PDF/X-4, setting it to permit transparency/layers, if there is any
checked the transparency in Acrobat: "No problems found." (B in attachment)
I have repeated this in GIMP using Print > Print to doPDF, cutePDF, AdobePDF, all with no transparency.
Some printers will reject PDFs with transparency. I am trying to produce a PDF from GIMP with no transparency and no other programs (like Adobe PDF). Is that possible?
On Ubuntu, currently running 3.0.2. I had to fresh install to get to .2 otherwise it kept crashing on brush selection, but in doing so it wiped my preferences. I'm just trying to figure out how to get the toolbox onto the right side of the screen. Used to be you could turn off single-window mode, move the toolbox window, and then turn back on single-window mode and it would save the position, but that doesn't appear to work anymore. Anyone know the current method?
Apparently GIMP 3.0.0 had an issue with the initial installation file where the python console was missing and python plugins were affected and not showing in the menus. GIMP 3.0.1 was released and fixed this problem. GIMP 3.02 with additional bug fixes was released and now python plugins no longer are showing in the menu. I reinstalled GIMP 3.0.1 and the plugins are back in the menus.
I'm trying to port a Gimp 2 script to Gimp 3 and got most of it figured out by trying stuff out in the python console.
Code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
from gimpfu import *
def sprites2layers(image, layer, sample, minimal_dimensions):
'''
"Separates objects on one layer to their own layer. Handy for Spritesheets"
Parameters:
image -- The current image.
layer -- The layer of the image that is selected.
sample -- sample every nth pixel of layer tile
minimal_dimensions -- minimal dimension of object to be placed in "objects" layer group
'''
# Start timer
time_start = time.time()
# Check image type (RGB/Greyscale or Indexed) and if layer has alpha, if not stop this script with a warning
no_alpha_warning='This layer has no alpha, please add an alpha channel for this script to work'
if image.base_type == 0:
image_mode = 'RGB'
if layer.bpp != 4:
gimp.message(no_alpha_warning)
return
if image.base_type == 1:
image_mode = 'Greyscale'
if layer.bpp != 2:
gimp.message(no_alpha_warning)
return
if image.base_type == 2:
image_mode = 'Indexed'
if layer.bpp != 2:
gimp.message(no_alpha_warning)
return
# create an 'off-screen' copy of layer_copy (not added to the canvas)
layer_offscreen = layer_copy.copy()
# Loop over tiles of layer_offscreen
for tile_row in range(tile_rows):
for tile_col in range(tile_cols):
Tile = layer_offscreen.get_tile(False, tile_row, tile_col)
# Loop over pixels of tiles
for tile_y in range(0, Tile.eheight, sample):
for tile_x in range(0, Tile.ewidth, sample):
pixel = Tile[tile_x, tile_y]
# Split components of imag_mode to get the alpha
# RGBA image
if image_mode == 'RGB':
R,G,B,A = Tile[tile_x, tile_y]
# Greyscale or Indexed image
if image_mode == 'Greyscale' or image_mode == 'Indexed':
I,A = Tile[tile_x, tile_y]
# If pixel is not completely transparent select it and neighbouring non-transparent pixels
if ord( A ) > 0:
layer_pixel_pos_x = tile_col * tile_height + tile_x
layer_pixel_pos_y = tile_row * tile_width + tile_y
pdb.gimp_image_select_contiguous_color(image, 2, layer_copy, layer_pixel_pos_x, layer_pixel_pos_y)
# Create a layer for an object and assign it to 'small objects' layer group or
# 'objects layer group' based on criteria "min_dimensions"
object_layer = layer_copy.copy()
x1, y1, x2, y2 = layer_copy.mask_bounds
# 'small objects' layer group
if x2 - x1 < minimal_dimensions and y2 - y1 < minimal_dimensions:
if counter_bad == 1 and (image_mode == 'RGB' or image_mode == 'Greyscale'):
layer_group_bad = pdb.gimp_layer_group_new(image)
layer_group_bad.name = 'small objects'
image.add_layer(layer_group_bad)
object_layer.name = "trash {:04d} ({:d}, {:d}, {:d}, {:d})".format(counter_bad, x1, y1, x2 - x1, y2 - y1)
counter_bad += 1
if image_mode == 'RGB' or image_mode == 'Greyscale':
image.active_layer = layer_group_bad
# Add object to layer_group_bad at the last position
pdb.gimp_image_insert_layer(image, object_layer, layer_group_bad, len(layer_group_bad.layers))
# 'objects' layer group
else:
if counter_good == 1 and (image_mode == 'RGB' or image_mode == 'Greyscale'):
layer_group_good = pdb.gimp_layer_group_new(image)
layer_group_good.name = 'objects'
image.add_layer(layer_group_good)
object_layer.name = "object {:04d} ({:d}, {:d}, {:d}, {:d})".format(counter_good, x1, y1, x2 - x1, y2 - y1)
counter_good += 1
if image_mode == 'RGB' or image_mode == 'Greyscale':
image.active_layer = layer_group_good
# Add object to layer_group_good at the last position
pdb.gimp_image_insert_layer(image, object_layer, layer_group_good, len(layer_group_good.layers))
# Add object to active layer which is one of the two layer groups
#image.add_layer(object_layer)
# "Auto crop" object layer
object_layer.resize(x2 - x1, y2 - y1, -x1, -y1)
# Remove/erase selection from layer_copy
image.active_layer = layer_copy
pdb.gimp_edit_clear(layer_copy)
# Update tile, by updating layer_offscreen, by copying layer_copy
layer_offscreen = layer_copy.copy()
Tile = layer_offscreen.get_tile(False, tile_row, tile_col)
# Remove layer_copy and layer_offscreen from canvas and memory
image.remove_layer(layer_copy)
del(layer_offscreen)
# Reset context settings to their default values.
pdb.gimp_context_set_defaults()
# End timer and display number of objects, small objects and timer seconds up to milliseconds in error console
time_end = time.time()
gimp.message('INFO:\n-{:d} objects found\n'.format(counter_good - 1) +
'-{:d} small objects found\n'.format(counter_bad - 1) +
'-time taken: {:.3f} seconds'.format(time_end - time_start))
### Registrations
name = "mich-sprites-2-layers"
blurb = "Objects to layers"
help = "Separates objects on one layer to their own layer. Handy for Spritesheets"
author = "Mich"
copyright = "Mich"
date = "2018-01-28"
menu_item = "sprites2layers..."
imagetypes = "*"
params = [imageParm, layerParm, sampleParm, mindimParm]
results = []
function = sprites2layers
menupath = "<Image>/Layer"
### Registrations
register(
name ,
blurb ,
help ,
author ,
copyright ,
date ,
menu_item ,
imagetypes,
params ,
results ,
function ,
menupath
)
main()
I've hit a snag with lines 65 and 129 with "Tile = layer_offscreen.get_tile(False, tile_row, tile_col)".
in Gimp 3 "drawable.get_tile()" doesn't exist, what is the alternative to this?
Hi guys,
Problem: upright picture (portrait) of a door. Exif in original jpg is right,top.
I send it to gimp. The door now is shown in landscape, the exif now is changed to top,left.
I'm not sure, but maybe once there was a popup how to threat orientation of origin.
But now this popup is gone and I cannot find the option to change this behaviour.
Any help?
I tried on Reddit yesterday but no-one replied, I hope someone can help here.
When I installed Gimp 3.0.1 along side my existing Gimp 2 installation on Windows 10, the Gimp 3 installer picked up all*rc files from my Gimp 2 installation, however when I deleted the menurc file from Gimp 3's path (a.k.a "C:\Users\...\Appdata\Roaming\Gimp\3.0") not only the keyboard shortcuts were not reset, but also the menurc file was not recreated in the above path (as it does in Gimp 2). I even tried copying another menurc file of mine, with different keyboard shortcuts, but Gimp 3 fails to read it.
In short, i'm stuck with the custom keyboard shortcuts I had in Gimp 2, and I cannot reset them in Gimp 3. Also, I'm not able to use any menurc file (I have a couple of them with different sets of custom keyboard shortcuts).
Is there any kind of cache file I need to delete or something? Is there any other path I need to look at, where Gimp 3 picks up the old menurc file from? How come it does not recreate the menurc file when I delete it?
Btw, the controllerrc file works fine (it gets recreated when I delete it, I can copy there other versions of it and Gimp 3 loads it, etc). Is there a bug specifically for the menurc file in Gimp 3?
I download resynthesizer 3.0 and put the script files in the GIMP 3.0 script folder and the exe file in the GIMP plugin folder. I am using GIMP 3.0.0-1 and find Resynthesizer in the menu, so GIMP finds it. When I try to use Resynthesizer, I get the menu, but when I activate the plugin, I get an error, and the plugin stops. Is the plugin ready for GIMP 3.0.0-1?
In GIMP 3.0.0 (Mac OS 13.7.4 Ventura) clicking on a color in the "Change Foreground Color" dialog immediately causes the dialog window to disappear. The color is changed, yes, but it seems you have to do it incrementally, step by step, rather than making all the guesstimate changes and then clicking "Okay" as it was in 2.10. I hope that this is a bug rather than a feature. I hope even more that I've simply overlooked a setting somewhere.
The option to inset symbol or emoji under the Edit menu is gone. It's a relatively minor thing, perhaps, but I wish I still had it. Why take options away with the new version (3.0.0, in my case)?