On 2009-09-30, saulgo...@flashingtwelve.brickfilms.com 
<saulgo...@flashingtwelve.brickfilms.com> wrote:

A lot of thanks for helping me understand this problem.

>> And I can't guess reasons why you first do gimp-selection-none(), then
>> combine the orig-sel back?

> I assumed that you wanted to add together all of the fuzzy selections  
> made along the path, and then combine that result with the original  
> selection using the operation mode. To not do so would lead to some  
> rather useless results.
> For example, if the operation mode were CHANNEL-OP-REPLACE and this  
> was passed to 'gimp-fuzzy-select-full' then despite making fuzzy  
> selections all along the path, the only thing that would matter would  
> be the fuzzy select performed on the path's last point.
> Also consider what happens if the 'operation' mode were  
> CHANNEL-OP-INTERSECT and the original selection was the entire image  
> (if there were no selection originally then the final result would be  
> no selection). If I merely passed the INTERSECT mode to Fuzzy Select  
> then after the first x,y point on the path was "fuzzy selected", the  
> resulting intersection would be only that fuzzy selection. Moving to  
> the next x,y point and the resulting selection would only be the  
> intersection of the two Fuzzy Selects. At any point along the path --  
> including the last point on the path -- the resulting selection will  
> be no larger than the intersection of that point's fuzzy selection and  
> the one before it.

I read all this, and STILL have the same question...

Let me try to rephrase it...  Consider two scenarios (with a particular
OP of CHANNEL-OP-*), left one and right one:

  save-selection + delete-selection
  do few FuzzySelects with OP                 do few FuzzySelects with OP
  combine with saved-selection with OP
  load saved-selection

Is there a case when these two scenarios are going to give different
results?  My logic is: there is no difference since

  a) it is enough to consider the case of one FuzzySelect;
  b) for one FuzzySelect there is no difference.

On which step do you think my logic breaks?

> The "projection" is the composited result of all of the layers,  
> employing all settings for the specified blend modes, opacities,  
> masks, and visibilities -- it is what you see in the image window.  
> There is no direct access to the projection contents from the PDB and  
> since 'gimp-drawable-get-pixel' does not provide a "sample merged"  
> mode

Well, since an INDIRECT access to the projection contents IS POSSIBLE,
why not allow a direct one?!

> I basically gave up on my attempt to create a By Color Select version  
> because of all of the edge cases that needed to be handled: layer  
> offsets and dimensions (path coordinates are relative to the image,  
> 'get-pixel' uses the drawable coordinates), changing colorspaces (mask  
> and channels are grayscale, while a layer may or may not be), and  
> image/drawable boundaries (paths are not constrained to the image).  

Could you still provide your version (non-working OK), since I *need*
to implement this anyway, and having some starting place would be a
great help.

      I'm going to create a temporary small layer for each point on
      the path (reuse it if the next point still fits).  (I already
      have code which does projection-copying.)

> If you wanted just a simple version which handled only a single layer  
> (not its mask, nor a channel) which had the same dimensions as the  
> image (and no offsets), and did not need to provide a "sample merged"  
> option, I could write one sometime later this evening.

If you would: first, let me try to write my own version based on your
old attempt.  And if I fail, I might try to use your offer as a rain
ticket.  ;-)

A lot of thanks again,

P.S.  Unrelated:

       I'm trying to post to the devel list, both from GMANE, and
       directly.  Nothing passes through.  Do I need to subscribe
       first before posting is possible?

Gimp-user mailing list

Reply via email to