Design Challenge -- Round Corner mask on images
BNig
bernd.niggemann at uni-wh.de
Thu Mar 31 17:45:08 EDT 2016
Alejandro Tejada wrote
> By the way, just to complete in this same thread all masking options
> available, here is a recipe for using Scott Rossi's Hidden Point technique
> to mask an image:
> http://runtime-revolution.278305.n4.nabble.com/Hidden-point-technique-to-mask-an-image-td2270248.html
>
> A graphic with discontiguous points is just another way to create a vector
> mask.
>
> 1) Create a new stack
> 2) Create a polygon graphic
> and set the points of it to:
>
> 0,0
>
> 34,268
> 224,268
> 127,365
> 34,268
>
> 3) import an image into this stack,
> put the image in a corner, where it does not
> hide the graphic and:
>
> set the backpattern of grc 1 to the id of img 1
>
> (now, the imported image is cropped within
> the graphic)
>
> 4) set the script of the graphic to this variation
> of Scott Rossi script to move the first point of
> the graphic and (at the same time) move the
> image within the graphic:
> Alejandro
Hi Alejandro,
thanks for the script. Again Scott found a neat trick!
here is a slight adaption of your version that avoids that you wander off
into the wrong direction and the image becomes unresponsive.
------------------------------------------
local lpoints,tClick,tFirstPoint
-- based on Scott Rossi script for masking images
local sMinX, sMinY
on mouseDown
put mouseH(),mouseV() into tClick
put the points of me into lpoints
put line 1 of lpoints into tFirstPoint
put line 2 to - 1 of lpoints into tPointLIst
filter tPointList without ""
sort tPointList numeric ascending by item 1 of each
put item 1 of line 1 of tPointList into sMinX
sort tPointList numeric ascending by item 2 of each
put item 2 of line 1 of tPointLIst into sMinY
put "mouseDown" & cr & lpoints & cr & cr into fld 1
end mouseDown
on mouseMove X,Y
if tClick = "" then exit mouseMove
put (X - item 1 of tClick,Y - item 2 of tClick)
put (X - item 1 of tClick) + item 1 of tFirstPoint,(Y - item 2 of
tClick) + item 2 of tFirstPoint into line 1 of lpoints
if item 1 of line 1 of lpoints > sMinX then put sMinX into item 1 of line
1 of lpoints
if item 2 of line 1 of lpoints > sMinY then put sMinY into item 2 of line
1 of lpoints
set the points of me to lpoints
end mouseMove
on mouseUp
put "" into tClick
end mouseUp
on mouseRelease
put "" into tClick
end mouseRelease
------------------------------------------
as usual watch for linebreaks.
Kind regards
Bernd
--
View this message in context: http://runtime-revolution.278305.n4.nabble.com/Design-Challenge-Round-Corner-mask-on-images-tp4702659p4702898.html
Sent from the Revolution - User mailing list archive at Nabble.com.
More information about the use-livecode
mailing list