Gimp
gimp.orgWindows, Mac OS, LinuxA free, open source, cross-platform image editor. GIMP is a powerful tool for photo retouching, image composition, and image authoring. It is highly customizable, and supports a wide range of file formats.
- Homepage:gimp.org
- GitHub:github.com/GNOME/gimp
- Web info:web-check.xyz/check/gimp.org
Gimp Source Code
Author
Description
Read-only mirror of https://gitlab.gnome.org/GNOME/gimp
Homepage
https://gitlab.gnome.org/GNOME/gimpRepository
- LicenseOther
- Created03 Jun 12
- Primary languageC
- Size878,648 KB
- Stars6,501
- Forks897
- Watchers6,501
Language Usage
Project Health
- Last commit3 days ago
- Open issuesNone
- Latest releasesoc-2012-unified-transform-before-gsoc
Top Contributors
@mitchfoo (13993)
@ell-gh (1905)
@brunvonlope (1883)
@cmyk-student (1274)
@filmsi (615)
@muks (599)
@Wormnest (598)
@yurchor (580)
@yosh (530)
@piotrdrag (413)
@prokoudine (383)
@haaninjo (376)
@hodefoting (360)
@alexiade (327)
@lumingzh (313)
@EkaterinePapava (250)
@jordimas (248)
@drawoc (247)
@bootchk (240)
@Rodhos (203)
@tml1024 (195)
@rentaclaus (190)
@simon-budig (185)
@Kolbjoern-cmd (170)
@nielsdg (169)
@MichaelMure (149)
@ciampix (131)
@sveinki (131)
@hugok79 (130)
@dmtrs32 (110)
@nphilipp (101)
@alshopov (92)
@martymichal (90)
@novomesk (80)
@schumaml (76)
@dmustieles (75)
@sabriunal (71)
@DiGro (70)
@DanielSabo (62)
@kelemeng (57)
@alikins (55)
@tsabsch (53)
@lukaso (51)
@urbalazs (50)
@zerng07 (49)
@jernejs (48)
@lightningismyname (46)
@dooteo (45)
@jsbueno (45)
@krietvel (43)
@GabryBarbe (43)
@user062 (41)
@gpopac (41)
@khaledhosny (40)
@secarica (39)
@Cedric31 (38)
@takeshi-aihana (38)
@dankor (38)
@YolandaAlvarez (37)
@urmatej (36)
@kargareteli (36)
@KristjanESPERANTO (36)
@crayxt (35)
@claudep (33)
@houz (32)
@prescott66 (31)
@ellelstone (30)
@lb90 (30)
@lewing (30)
@mtelka (29)
@vnwildman (29)
@TiagoSantos81 (28)
@nazgul77 (28)
@hosiet (27)
@sbdaule5 (27)
@meskobalazs (27)
@yeager (26)
@SuborbitalPigeon (25)
@nishbone (24)
@mariobl (24)
@Salamandar (23)
@balooii (23)
@aurisc4 (23)
@emintufan (23)
@onkelhatti (23)
@kcozens (23)
@villesokk (23)
@luciang (22)
@Alan-Drouzig (21)
@mtrmac (21)
@cheesequake (21)
@Marv-CZ (21)
@rupertwh (20)
@Aefgh39622 (20)
@samm-git (20)
@luzpaz (19)
@programmer-ceds (19)
@pesder (18)
@kostich (18)
@9demaio1964 (17)
Recent Commits
Jehan(10 Oct 26)
plug-ins: add sub-settings for DCB demosaicing.
Jacob Boerema(10 Oct 26)
plug-ins/metadata: fix import/export dialog behind editor When opening the import or export file dialog from the metadata editor, it appeared behind the editor window. cmyk.student remarked in !3055 that we can fix this by not setting NULL as parent window, but instead use the editor window. While we are changing this, als remove the nearby test if (args->filename), because g_free already tests that.
Jacob Boerema(10 Oct 26)
plug-ins/metadata: fix warning when file doesn't exist
Jehan(10 Oct 26)
plug-ins: oups, libraw_close() now in the calling function. The variable is freed from where it's initialized!
Jehan(10 Oct 26)
plug-ins: start adding some setting disabling logic. It's not finished, there will be more cases to take into account. Note also that even for these cases, I don't implement the full logic when it's just too involved. For instance the noise-reduction step will also be disabled in cases where some computed real_colors is not 3, but that would imply copying too much code and functions from LibRaw. So let's just accept that we might have some files where the "Noise reduction" setting will be active while it in fact won't change a thing. As a general rule, LibRaw lacks API for us to request status of which settings should be considered available/active or not. So that forces us to reimplement a part of the code from LibRaw::dcraw_process(). The alternative would be to show all settings all the time as active, but that would be a very bad UX.
Jehan(10 Oct 26)
plug-ins: add more options to the simple RAW developer. When looking at LibRaw code, the no_interpolation setting seemed interesting to me (to transform basically the RAW sensor data directly as pixels, without any interpolation (so usually we get a Bayer filter matrix). Also I see an optional denoising step which is executed before the demosaicing itself. From what I read (e.g. in "Image Noise and Digital Image Forensics" paper from March 2016), it "is generally preferable to reduce noise as early as possible in the chain". Anyway let's give the setting and see what people think of it. I also remove the "auto" demosaicing choice and just makes "AHD" the default (this is the default in LibRaw itself). There are clearly more settings which can be proposed as I see a bunch of optionally run steps in LibRaw::dcraw_process() code. To be further investigated. I also still see cases where we should disable some settings (otherwise it'd be confusing). Let's check these later. Finally it looks like we might do the white-balance wrong, when I compare to darktable, but I'll have to discuss this with Alx first. I leave this untouched for now. See also: https://www.researchgate.net/publication/314910257_Image_Noise_and_Digital_Image_Forensics#pf5
Alx Sa(09 Oct 26)
plug-ins: Additional bounds checks on WEBP export Resolves #16850 A plug-in could be written in a way to exploit exporting a WEBP image via an overflow. This patch adds a check for memory allocation and refuses to allocate and use if we overflow. This patch covers both exporting a layer or an animation frame.
Alx Sa(09 Oct 26)
plug-ins: Bounds check on QOI export Resolves #16849 A plug-in could be written in a way to exploit exporting a QOI image via an overflow. This patch adds a check for memory allocation and refuses to allocate and use if we overflow.
Jehan(09 Oct 26)
plug-ins: initial RAW development dialog. It looks to me like the demosaicing algorithm (how to interpolate from sensor data to pixels) is the basic setting we need to have as RAW development parameter. I've been looking into LibRaw docs and eventually directly in source to see if there was any API to get a list of available demosaicing methods. It looks like the answer is "no" as all these are apparently harcoded as integers in LibRaw::dcraw_process(). Note that looking into code, it looks like AHD may be the default, but the LibRaw code is clearly not that clear-cut and I see various paths where the user_qual (what they call the demosaicing internally, or again "quality", in their code) is not even looked at to decide for the interpolation method. So I'll have to look and test further and probably adapt the choice list and the GUI. Also the docs indicates some side settings which are only available with specific demosaicing algorithms. We'll also have to adapt the GUI to disable settings depending on others (once we'll have added more). I also realize we don't even extract the color profile, which is clearly wrong. Last but not least, it'd be much nicer if we had some kind of more instant preview. Since it's a plug-in, some optional preview code won't be as nice as GEGL ops, but it should be doable (we have this on some plug-ins). Eventually, I wonder if a concept of RAW layer would not make sense, so that we could have non-destructive demosaicing. But I'm not seeing us having such feature for quite some time, at the very least until we have way more people testing our basic plug-in first.
Jehan(09 Oct 26)
app, pdb: consistently name "window handle". Core code was still naming this the "window ID" in various parts of the code (most likely named after Xlib where it's called a XID). So make the code more consistent. While doing so: * Remove 2 function declarations from gimp-gui.h which don't exist (anymore?). * Do coding style cleanup where relevant. * Fix gui_display_get_window_handle() implementation which was doing a double `if (shell)` test (the second should have likely be `if (shell->window_handle)`) and anyway it's just reimplementing the GimpProgress abstract method get_window_handle() so we use that instead.
Bruno Lopes(09 Oct 26)
build/linux: Update poppler-26.08.0.tar.xz to 26.10.0 Synced from: https://github.com/flathub/org.gimp.GIMP/pull/762
Jehan(09 Oct 26)
app: add short variant for "Paste as" actions. Following up with the ability to set a shorter label when in the context of a menu/submenu path. In particular here, do not repeat "Paste as" prefix while the full label is still use in the action search widget (non-contextual). A limitation of the short label concept is being unravelled with "Paste as New Image" since this action is used both in File > Create and Edit > Paste as submenus, and the same short label cannot be used in both (current short label is "From Clipboard" which works under "Create" but not under "Paste as"; oppositely "New Image" would work under "Paste as", but not under "Create"). So for now, this action is kept at using the long label under "Paste as". As for the 2 "Paste as New Brush" and "Paste as New Pattern", they are script-fu scripts, which don't have a short label concept in their API yet.
Jehan(09 Oct 26)
app, pdb: add error message when procedures fail. To be fair, I'm no so sure when these would happen. Or to be more accurate, this (trying to run a PDB procedure while we are closing the plug-in communication channels) should be an error for any procedure anyway (and I believe this specific plug-in bug must be already handled by core code in fact IIRC). But well as long as it's still checked for these particular procedures, let's do it correctly by adding an error on failure case.
Bruno Lopes(08 Oct 26)
tools: Fix clash between make-mac-typelib.py and defcheck.py This should fix: FAILED: [code=255] libgimp/check-def-files trouble reading libgimp/Gimp-3.0.gir - not well-formed (invalid token): line 23344, column 19
Dirk Müller(07 Oct 26)
plug-ins: Fix UAF in presets_list_select_preset() There is a typo in the variable name here. this has just been freed two lines before, so this g_strdup() accesses freed memory.
balooii balooii(07 Oct 26)
app/display: chain up constructed to parent class in cursor dialog Without it, the little menu which we show in all docklet dialogs will not show up for the Cursor/Pointer dialog
balooii balooii(13 Mar 26)
Issue #2446: Add DPI information when copying image to clipboard An earlier commit adbac2f6804d6b6be018e8dfe2958734d13d6d54 related to this issue added setting "x-dpi" and "y-dpi" as options on the GdkPixbuf which was then passed to gtk_selection_data_set_pixbuf. Unfortunately this function does not consider any options set on the given GdkPixbuf at all so it had no effect AFAICT. gtk_selection_data_set_pixbuf internally calls gdk_pixbuf_save_to_buffer only with a hardcoded "compression" option. So the change is, as we cannot use gdk_pixbuf_save_to_buffer to call gdk_pixbuf_save_to_buffer ourselves and pass the "x-dpi" and "y-dpi" options if supported by PNG Saver loaded by gdk-pixbuf. Considerations: Not all PNG Saver implementations available via gdk-pixbuf support these properties. The newer Glycin-based implementation currently misses support while the previous variant had support for these props for quite some years. Luckily, there is an issue tracking this which is planned for next GNOME release :fingers_crossed: Since gdk-pixbuf 2.36 there is a function for checking if an option is supported or not: gdk_pixbuf_format_is_save_option_supported In GIMP meson.build the minimal gdk-pixbuf version is set to 2.30.8 so I had to add some macros for skipping this option check and setting the x-dpi and y-dpi options if gdk-pixbuf version is too old Unfortunately the newer Glycin-based loaders are seemingly used by default in latest gdk-pixbuf/GNOME release so this change will not work for these systems. My own machine (Arch Linux) ships latest gdk-pixbuf with glycin enabled where PNG x-dpi and y-dpi is not (yet) implemented. So if you want to test/use it on such systems you have to build gdk-pixbuf with glycin disabled so the older PNG impl gets used which supports it (add -Dglycin=disabled to meson setup). So fingers crossed that glycin adds support for it as planned in next GNOME release! With this, no further changes in GIMP would be necessary. If GIMP is build with a gdk-pixbuf version using a PNG loader that supports the DPI options then it just works, otherwise no DPI info is added so status quo. I don't know which gdk-pixbuf version is used for official GIMP releases and if its compiled with glycin. Closes #2446
Bruno Lopes(07 Oct 26)
build/windows: Icelandic is now official See: https://github.com/jrsoftware/issrc/commit/4f709a319a2ffcd3513f8a223604cb976d6b2fe9
Jehan(06 Oct 26)
NEWS: update.
Jehan(06 Oct 26)
libgimpbase: minor coding style fix.
Manu Cornet(06 Oct 26)
Issue #16163: Minor follow-up for filter visibility undo actions
Alx Sa(06 Oct 26)
xcf: Check simulation intent/bpc before use Resolves #16834 As pointed out by codem4ster, it is possible to edit a XCF to have an empty simulation intent or BPC value. This causes our read to dereference a NULL pointer. This patch moves the dereference code inside the parasite_size check to prevent this from occurring.
Alx Sa(05 Oct 26)
core: Confirm SBZ color model is set Resolves #16835 It is possible for an SBZ palette entry to not contain a color model. In that case, we prevent the string comparison code from running.
Alx Sa(05 Oct 26)
core: Use correct object to load KPL palette names Resolves #16832 When setting the name of the palette, I accidentally used palette_name instead of palette as the object. This patch fixes the typo, and also frees the palette_name when overwriting in an invalid file.
Jacob Boerema(04 Oct 26)
plug-ins/metadata: fix order of enums... and add a comment about that. I forgot to update the list after changing the order. Also fix spacing of one item in metadata-tags.c that I missed.
Alx Sa(04 Oct 26)
plug-ins: Bounds-check importing grayscale raw data This patch adds checks to ensure that the memory allocation for both the input and output buffers of grayscale raw data loading is bounds-checked to prevent a 32-bit overflow.
Jacob Boerema(04 Oct 26)
plug-ins/metadata: add missing Rejected value for Rating
Kolbjørn Stuestøl(04 Oct 26)
po-plug-ins: Update Norwegian Nynorsk translation
Dick Groskamp(04 Oct 26)
po-plug-ins: Update Dutch translation
Martin(04 Oct 26)
po-plug-ins: Update Slovenian translation
Gimp Security
Gimp Website
Website
GIMP - GNU Image Manipulation Program
GIMP - The GNU Image Manipulation Program: The Free and Open Source Image Editor
Redirects
Does not redirect
Security Checks
All 65 security checks passed
Server Details
- IP Address151.101.193.91
- LocationSan Francisco,California,United States of America,NA
- ISPFastly Inc.
- ASNAS54113
Associated Countries
DE
US
NL
Safety Score
Website marked as safe
100%
Trackers
No known trackers found
Blacklist Check
www.gimp.org was found on 0 blacklists
- AntiSocial Blacklist
- Artists Against 419
- Badbitcoin
- Bambenek Consulting
- CERT Polska
- CoinBlockerLists
- CRDF
- CryptoScamDB
- EtherAddressLookup
- EtherScamDB
- Fake Website Buster
- MetaMask EthPhishing
- NABP Not Recommended Sites
- OpenPhish
- PetScams
- PhishFeed
- PhishFort
- Phishing.Database
- PhishStats
- PhishTank
- Phishunt
- RPiList Not Serious
- Scam.Directory
- SecureReload Phishing List
- Spam404
- StopGunScams
- Suspicious Hosting IP
- ThreatFox
- ThreatLog
- TweetFeed
- URLhaus
- ViriBack C2 Tracker
Website Preview
Gimp Docker
Container Info
Gimp
[GIMP](https://www.gimp.org/) is a free and open-source raster graphics editor used for image manipulation (retouching) and image editing, free-form drawing, transcoding between different image file formats, and more specialized tasks. It is extensible by means of plugins, and scriptable.
View on DockerHub
linuxserver/gimp:latestRun Command
docker run -d \
-p 3000:3000/tcp \
-p 3001:3001/tcp \
-e PUID=${PUID} \
-e PGID=${PGID} \
-e TZ=${TZ} \
-v /srv/lsio/gimp/config:/config \
--restart=unless-stopped \
linuxserver/gimp:latestCompose File
version: 3.8
services:
gimp:
image: "linuxserver/gimp:latest"
ports:
- "3000:3000/tcp"
- "3001:3001/tcp"
environment:
PUID: 1000
PGID: 1000
TZ: Etc/UTC
volumes:
- "/srv/lsio/gimp/config:/config"
restart: unless-stoppedEnvironment Variables
- Var NameDefault
- PUID1000
- PGID1000
- TZEtc/UTC
Port List
- 3000:3000/tcp
- 3001:3001/tcp
Volume Mounting
- Container PathHost Bind
- /config/srv/lsio/gimp/config
Gimp Reviews
More Image Editors
A photography workflow application (similar to Adbobe Lightroom) Includes a non-destructive raw developer for raw images and managing digital negatives.
A free, open source, professional vector graphics editor. It is a powerful tool for creating illustrations, icons, logos, diagrams, maps, and web graphics.
Digital painting application. Free and open source (backed by KDE), with cross-platform support, Krita is popular among both professional and amateur artists due to it's comprehensive feature set, and intuitive UI
A more advanced take on Microsoft Paint. Suitable for basic image editing, with support for basic layers, unlimited undo/redo, and extendable via plugins
A free online image editor, for both raster and vector graphics, with a very wide range of supported formats
Not Open SourceA free web-based image editor, with a modern UI. Also offers premium/paid features, such as AI-powered generation, touchup and editing
Not Open SourceA powerful raw photo processing system and editor, for non-destructive editing of raw digital photos
About the Data: Gimp
Change History
- Added #220
- Amended (followWith)
Edit Gimp Data
You can edit Gimp's entry in this section of awesome-privacy.yml by submitting a PR to our GitHub repo.
Note that some of the information shown above has been aggregated from external
sources, a list of these can be found data documentation.
Origin Data
Modify Data
API
You can access Gimp's data programmatically via our API. Simply make a GET request to:
https://api.awesome-privacy.xyz/v1/services/gimpThe REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.
Share Gimp
Help your friends compare Image Editors, and pick privacy-respecting software and services.
Share Gimp and Awesome Privacy with your network!
