Note that there are some explanatory texts on larger screens.

plurals
  1. POCreating a Clipping Mask using Graphics32
    primarykey
    data
    text
    <p>I'm using <a href="http://graphics32.org" rel="nofollow" title="Graphics32">Graphics32</a> for image processing. Looking at its capabilities, it strikes me that I've yet to see a proper implementation of a clipping mask. I do see the term "clipping" pop up here and there, but it seems to refer to something else.</p> <p>Simply put, I need one layer to function as a "peeking hole" to another; layer A should be projected onto layer B, but only where layer B is visible. (I see no further need to redefine what a clipping mask is.)</p> <p>If it were just the bitmap of that other layer that I'd like to present, it wouldn't be so hard to do - then I could use <a href="http://graphics32.org/news/newsgroups.php?art_group=graphics32.general&amp;article_id=7179" rel="nofollow">this trick</a> - but what complicates things, is that the bitmap of a layer does not tell much about what would be displayed by the layer; the layer can be:</p> <ul> <li>(partially) invisible (when out of the view)</li> <li>moved/stretched + optionally resampled</li> <li>rotated</li> </ul> <p>with no effects on its bitmap.</p> <p>Is it actually so that there is no ready implementation for this? Any suggestions for doing this myself?</p> <h1>Progress</h1> <p>I found some useful elements in the source of Graphics32. For example, using this declaration:</p> <pre><code>type TLayerAccess = class(TBitmapLayer); </code></pre> <p>to gain access to protected methods, I can call <code>TLayerAccess(ABitmapLayer).Paint(ABitmap32)</code> to have just this layer painted to a bitmap, exactly as it would to the screen.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload