Try changing this line:

  put tImageData["image"] into image "currentpuzzle"

to this:

  set the imageData of image "currentpuzzle" to tImageData["image"]

--
Jacqueline Landman Gay | jac...@hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
On October 28, 2020 6:06:39 AM Sannyasin Brahmanathaswami via use-livecode <use-livecode@lists.runrev.com> wrote:

Take for example

[command] resizeToWidth tImage, 400

on resizeToWidth pImage,pSize
  local tOrigImgWidth, tOrigImgHeight, tRatio, tNewWidth, tNewHeight
  set the itemdel to "x"
  put item 1 of sCurrentGraphicRect into tOrigImgWidth
  put item 2 of sCurrentGraphicRect into tOrigImgHeight

  if tOrigImgWidth is 0 then exit resizeToWidth

  put pSize/tOrigImgWidth into tRatio
  put (tOrigImgHeight * tRatio) into tNewHeight
  put (tOrigImgWidth * tRatio) into  tNewWidth

  set the rect of  pImage to 0,0,tNewWidth,tNewHeight

end resizeToWidth

How do I get a copy, with the image scaled down, which is visible on screen?

[coded]
 if (the width of tImage > the heigth of tImage )  then
     # portrait
     resizeToWidth tImage, 400
  else
     # landscape
     resizeToHeigth tImage, 400
  end if

  # now we set the img to the img "currentpuzzle"
  set the name of the last image to "currentpuzzle"

  # and copy the data, at 400px wide
  put the rect of the last image into tImageData["rect"]
  put the imageData of the last image into tImageData["image"]

  put tImageData["image"] into image "currentpuzzle"


BUT the full scaled copy of the image "currentpuzzle" comes into view. I wanted to get a scaled down version?

How do we implement this, from the dictionary


The imageData, unlike the contents of the image<lcs,image,> container<lcs,container,>, is based on the picture as it's presented on the screen, not stored in the image<lcs,image,> object<lcs,object,glossary>. This means that if you resize an image<lcs,image,>, the content of the image<lcs,image,> does not change, but its imageData does. If you create an image<lcs,image,> and then reduce its size, its imageData reflects the scaled-down, displayed image<lcs,image,>, not the original full-scale image<lcs,image,>. If you create a second image<lcs,image,> and set its imageData property<lcs,property,> to the imageData of the original image<lcs,image,>, resizing the first image<lcs,image,> back to the original dimensions displays the original image<lcs,image,> at full resolution, but resizing the second image<lcs,image,> does not, because setting its imageData transferred only the scaled-down version of the original.


BR
_______________________________________________
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

Reply via email to