• Re: Image background

    From Rich@21:1/5 to saito on Thu Oct 17 19:35:07 2024
    saito <saitology9@gmail.com> wrote:
    I wonder if it is possible to remove the background from an image and
    make it transparent using Tk or a package? Then I can save it as a png
    image. The background in my case consists of a single color. Perhaps I
    could replace that color with an "alpha" color but how?

    man n photo:

    imageName transparency subcommand ?arg arg ...?
    Allows examination and manipulation of the transparency
    information in the photo image. Several subcommands are
    available:

    imageName transparency get x y
    Returns a boolean indicating if the pixel at (x,y) is
    transparent.

    imageName transparency set x y boolean
    Makes the pixel at (x,y) transparent if boolean is true,
    and makes that pixel opaque otherwise.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Paul Obermeier@21:1/5 to All on Thu Oct 17 21:49:27 2024
    Am 17.10.2024 um 21:04 schrieb saito:
    I wonder if it is possible to remove the background from an image and make it transparent using Tk or a package? Then I can save it as a png image. The background in my case consists of a single color. Perhaps I could replace that color with an "alpha"
    color but how?


    proc SetTransparentColor { phImg { red 255 } { green 255 } { blue 255 } } {
    set colorStr [format "#%02x%02x%02x" $red $green $blue]
    set y 0
    foreach row [$phImg data] {
    set x 0
    foreach pixel $row {
    if { $colorStr eq $pixel } {
    $phImg transparency set $x $y 1
    }
    incr x
    }
    incr y
    }
    }

    Paul

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Rich@21:1/5 to saito on Thu Oct 17 19:56:51 2024
    saito <saitology9@gmail.com> wrote:
    On 10/17/2024 3:35 PM, Rich wrote:
    saito <saitology9@gmail.com> wrote:
    I wonder if it is possible to remove the background from an image and
    make it transparent using Tk or a package? Then I can save it as a png
    image. The background in my case consists of a single color. Perhaps I
    could replace that color with an "alpha" color but how?

    man n photo:

    imageName transparency subcommand ?arg arg ...?
    Allows examination and manipulation of the transparency
    information in the photo image. Several subcommands are
    available:


    Thank you - I missed this page. Does this command apply to non-png
    images?

    It applies to all Tk photo images.

    Whether you can save the transparency to a file will depend upon the
    file format you choose to save the result into.

    Initially the image will have no transparency, since the
    background is a solid, opaque color?

    That depends upon what you initially load into the Tk photo. If you
    load a file that can store transparency, and if Tk's image load routine
    can load the transparency, you'll get whatever transparency is already
    present.

    The challenge in my case is I don't know where the background starts and
    what color it would be. The latter can be solved by involving the user perhaps.

    One option is to presume that the most common color is likely the
    background, but that assumes flat, single color, backgrounds.

    If by 'background' you mean something like a building behind people
    posing for a photo, then you are getting very deep into advanced image processing and/or AI image recognition to "find" the background in any automated way.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)