Fun with the templateimage

Bob Sneidar bobsneidar at iotecdigital.com
Thu Oct 31 15:03:58 EDT 2019


OK New version with error checking, and also addresses the issue where Klaus could not compile:

on exportScaledImage pSourceFile, pDestFile, pScaleFactor, pFormat
   -- Validate parameters
   -- pSourceFile
   if not there is a file pSourceFile then \
         answer error "Source file does not exist!" as sheet ; exit exportScaledImage 
   set the itemDelimiter to "/"
   
   -- pDestFile
   if not there is a folder (item 1 to -2 of pDestFile) then \
         answer error "Destination folder does not exist!" as sheet ; exit exportScaledImage
   
   -- pScaleFactor
   if not (pScaleFactor is a number) or not(pScaleFactor <1) then \
         answer error "Scale factor must be a percentage > 0!" as sheet ; exit exportScaledImage
   
   -- pFormat
   if not (pFormat is among the items of "JPEG/BMP/PNG") then \
         answer error "Valid formats are: JPEG, BMP or PNG." as sheet ; exit exportScaledImage
   
   -- set the source file as the template image and get dimensions
   set the filename of the templateimage to pSourceFile
   put the formattedwidth of the templateimage into tFW
   put the formattedheight of the templateimage into tFH
   
   -- scale the image to a round value
   set the width of the templateimage to round(tFW * (pScaleFactor /100))
   set the height of the templateimage to round(tFH * (pScaleFactor /100))
   
   -- convert file
   switch pFormat
      case "JPEG"
         put "export the templateimage to file " & quote & pDestFile & quote & " as JPEG" into tCommand
         break
      case "BMP"
         put "export the templateimage to file " & quote & pDestFile & quote & " as BMP" into tCommand
         break
      case "PNG"
         export the templateimage to file (pDestFile) as PNG
         put "export the templateimage to file " & quote & pDestFile & quote & " as PNG" into tCommand
         break
   end switch
   
   do tCommand
   
   -- reset
   reset the templateimage
end exportScaledImage

> On Oct 31, 2019, at 08:00 , Bob Sneidar <bobsneidar at iotecdigital.com> wrote:
> 
> Or better yet: -- No error checking, assumes parameters are correct. Also not tested. :-)
> 
> on exportScaledImage pSourceFile, pDestFile, pScaleFactor, pFormat
>   ## My good ol' banana, older users of MC might remember that one :-D
>   set the filename of the templateimage to pSourceFile
> 
>   ## This was a know (to me) feature
>   put the formattedwidth of the templateimage into tFW
>   put the formattedheight of the templateimage into tFH
>   ## Now you can apply some "rule of three" to scale the image while preserving its ratio
>   ## I'll leave that up to you... :-)
> 
>   ## I cheated a bit:
>   set the width of the templateimage to round(tFW * (pScaleFactor /100))
>   set the height of the templateimage to round(tFH * (pScaleFactor /100))
> 
>   ## But this one really suprised me:
>   switch pFormat
>      case "JPEG"
>         export the templateimage to file (pDestFile) as JPEG
>         break
>      case "BMP"
>         export the templateimage to file (pDestFile) as BMP
>         break
>      case "PNG"
>         export the templateimage to file (pDestFile) as PNG
>         break
>   end switch
> 
>   reset the templateimage
> end exportScaledImage
> 
> 
>> On Oct 30, 2019, at 13:13 , Klaus major-k via use-livecode <use-livecode at lists.runrev.com> wrote:
>> 
>> Hi all,
>> 
>> we know that "the templatexxxxxx" is a very helpful thingie.
>> 
>> But I was really surprised that we can even EXPORT something
>> from the templateimage until I tried this:
> <snip>





More information about the use-livecode mailing list