Re: Scaling Imported Images

2019-08-20 Thread Bob Sneidar via use-livecode
Thanks! You'd think that was in the dictionary somewhere, but I searched for 
scale and got bupkis. 

Bob S


> On Aug 20, 2019, at 04:01 , hh via use-livecode 
>  wrote:
> 
>> Bob S. wrote:
>> I seem to remember some time ago there was a key combination
>> so that when you sized an image, instead of cropping it, it
>> would scale it. Am I imagining things? I can create a new
>> scaled image in Preview, so no big deal. 
> 
> Resizing with the pointer tool has these modifier specials:
> 
> use with shift  => resizes proportional
> use with option => resizes to square
> use with mac-cmd/win-nux-ctrl => crops
> 
> Posssibly this is not what you want, because this operation only
> changes the display, not the size of the original imported image.
> So the size of the image in the stack is always the same.
> 
> To make the *new size* to be 'persistent', that is
> new width => formattedWidth and new height => formattedHeight
> use
> 
> set imagedata of img imgName to the imagedata of img imgName
> 
> Here is the complete script I use for scale or fit incl. the above.
> 
> -- pRetain is true or false (=persistence of new size)
> -- pImgID is the long id of an image
> -- pHow is one of f[actor],w[idth],h[eight],l[arger],s[maller],?
> -- pVal is a positive Number
> on scaleOrFitImage pRetain,pImgID,pHow,pVal
>  lock screen; lock messages
>  put the formattedWidth of pImgID into w
>  put the formattedHeight of pImgID into h
>  switch char 1 of pHow
>case "f" -- scale with factor pVal
>  put pVal*w into w0
>  put pVal*h into h0
>  break
>case "w" -- fit width to pVal
>  put pVal*h/w into h0
>  put pVal into w0
>  break
>case "h" -- fit height to pVal
>  put pVal*w/h into w0
>  put pVal into h0
>  break
>case "l" -- fit max(width,height) to pVal
>  if h > w then -- fit height to pVal
>put pVal*w/h into w0
>put pVal into h0
>  else -- fit width to pVal
>put pVal*h/w into h0
>put pVal into w0
>  end if
>  break
>case "s" -- fit min(width,height) to pVal
>  if h < w then -- fit height to pVal
>put pVal*w/h into w0
>put pVal into h0
>  else -- fit width to pVal
>put pVal*h/w into h0
>put pVal into w0
>  end if
>  break
>default -- current width and height
>  put the width of pImgID into w0
>  put the height of pImgID into h0
>  break
>  end switch
>  put the topleft of pImgID into TL
>  set width of pImgID to w0
>  set height of pImgID to h0
>  set topleft of pImgID to TL
>  if pRetain then
># width => formattedWidth and height => formattedHeight
>set imagedata of pImgID to the imagedata of pImgID
>  end if
> end scaleOrFitImage
> 
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Scaling Imported Images

2019-08-20 Thread hh via use-livecode
> Bob S. wrote:
> I seem to remember some time ago there was a key combination
> so that when you sized an image, instead of cropping it, it
> would scale it. Am I imagining things? I can create a new
> scaled image in Preview, so no big deal. 

Resizing with the pointer tool has these modifier specials:

use with shift  => resizes proportional
use with option => resizes to square
use with mac-cmd/win-nux-ctrl => crops

Posssibly this is not what you want, because this operation only
changes the display, not the size of the original imported image.
So the size of the image in the stack is always the same.

To make the *new size* to be 'persistent', that is
new width => formattedWidth and new height => formattedHeight
use

set imagedata of img imgName to the imagedata of img imgName

Here is the complete script I use for scale or fit incl. the above.

-- pRetain is true or false (=persistence of new size)
-- pImgID is the long id of an image
-- pHow is one of f[actor],w[idth],h[eight],l[arger],s[maller],?
-- pVal is a positive Number
on scaleOrFitImage pRetain,pImgID,pHow,pVal
  lock screen; lock messages
  put the formattedWidth of pImgID into w
  put the formattedHeight of pImgID into h
  switch char 1 of pHow
case "f" -- scale with factor pVal
  put pVal*w into w0
  put pVal*h into h0
  break
case "w" -- fit width to pVal
  put pVal*h/w into h0
  put pVal into w0
  break
case "h" -- fit height to pVal
  put pVal*w/h into w0
  put pVal into h0
  break
case "l" -- fit max(width,height) to pVal
  if h > w then -- fit height to pVal
put pVal*w/h into w0
put pVal into h0
  else -- fit width to pVal
put pVal*h/w into h0
put pVal into w0
  end if
  break
case "s" -- fit min(width,height) to pVal
  if h < w then -- fit height to pVal
put pVal*w/h into w0
put pVal into h0
  else -- fit width to pVal
put pVal*h/w into h0
put pVal into w0
  end if
  break
default -- current width and height
  put the width of pImgID into w0
  put the height of pImgID into h0
  break
  end switch
  put the topleft of pImgID into TL
  set width of pImgID to w0
  set height of pImgID to h0
  set topleft of pImgID to TL
  if pRetain then
# width => formattedWidth and height => formattedHeight
set imagedata of pImgID to the imagedata of pImgID
  end if
end scaleOrFitImage

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Scaling Imported Images

2019-08-19 Thread Bob Sneidar via use-livecode
I seem to remember some time ago there was a key combination so that when you 
sized an image, instead of cropping it, it would scale it. Am I imagining 
things? I can create a new scaled image in Preview, so no big deal. 

Bob S


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode