On Saturday, January 10, 2004, at 10:39 AM, Alejandro Tejada wrote:
repeat with i = 1 to length(asd) step 6 put null & unhex(char i to i+5 of asd) after qwe end repeat
This is 200% faster than the original!!!
binaryEncode("H*",h)
This might be faster yet:
repeat with i = 1 to length(asd) step 6 put null & binaryEncode("H*", char i to i+5 of asd) after qwe end repeat
I have a couple binaryEncode and binaryDecode enhancements suggested on bugzilla, but I'm not sure whether these would allow doing this in one call to binaryEncode(). That would be cool if that was possible.
The problem is inserting the extra null every three bytes, otherwise this could be done in one step. It is easy to get data from an image in three bytes per pixel, the export as "paint" provides data in P6 format, and that can be trimmed to get three bytes per pixel.
This is very interesting. Do you have a function able to export an image from MC/RR as RGB hexadecimal data?
No, but here are a couple ideas.
1. You can do the inverse of the above with imageData
or
2.
A. export as paint to a variable That has a text header with 3-byte binary RGB See: http://astronomy.swin.edu.au/~pbourke/dataformats/ppm/
B. Break out the binary pixel data from the text header You might try a regex that would work on any P6 data, or by looking at the header you might find that something like 'line 4 to -1" or some other method would work for Rev P6 data.
C. Apply the previously mentioned hex() function only one time to the binary data.
D. Done.
Both of these ignore mask and alpha. The latter could be expanded to provide size data.
Dar Scott
**************************************** Dar Scott Consulting http://www.swcp.com/dsc/ Programming Services ****************************************
_______________________________________________ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution