deleting every other line in an image

Mark Smith mark at maseurope.net
Tue Nov 13 22:21:21 EST 2007


Josh, does this do what you want?

on stripAltLines pImg
    put the imagedata of img pImg into tData
    put the width of img pImg * 4 into bytesPerLine
    put the height of img pImg into numLines

    repeat with n = 2 to numLines step 2
       put char (((n -1) * bytesPerLine) + 1) to (n * bytesPerLine)  
of tData into tLine
       put tLine & tLine after newData
    end repeat

    set the imagedata of img pImg to newData
end stripAltLines

Best,

Mark

On 13 Nov 2007, at 18:31, Josh Mellicker wrote:

> Hello Bernd,
>
> I tried and tried but could not get the script to work.
>
> It produces an image with half the content widthwise, and I am  
> still trying to get it to copy every other complete line...
>
> Here is a typical source image:
>
> http://revcoders.org/resources/temp.png
>
> You can see the obvious interlacing, as the dolphin was saying  
> "yes" to the question "would you like a fish?"
>
> I am attempting to copy every other line to a new image, then set  
> the width to half as well so the picture maintains its aspect ratio.
>
> Does your script work with that image?
>
> Thanks!
>
>
> On Nov 12, 2007, at 3:34 PM, BNig wrote:
>
>>
>> Hi Josh,
>>
>> make a stack with 2 images, call them "P1" and "P2"
>> load a picture in the inspector into image "p1"
>> set the width and height to 140 in the inspector
>>
>> make a new button
>>
>> paste this script into the button
>>
>> on mouseUp
>>     put the width of image "P1" into theImagWidth
>>     put the height of image "P1" into theImageHeight
>>     put the imagedata of image "P1" into theDataToWorkon
>>     if theDataToWorkon = "" then exit mouseUp
>>     put length (theDataToWorkon) into HowLong
>>     put empty into destImageData
>>
>>     -- one Pixel = 4 Bytes = 4 chars
>>     put theImagWidth * 4 into OneRowOfImage
>>     put theImageHeight into soManyPixelRows
>>
>>     put 0 into theCounter
>>     repeat   with i = 1 to (HowLong - OneRowOfImage) step  
>> (OneRowOfImage*2)
>>         put  char i to (i + OneRowOfImage-1) of theDataToWorkon   
>> after
>> destImageData
>>     end repeat
>>
>>     set the width of image "P2" to theImagWidth
>>     -- watch out for images with uneven heigths
>>     set the height of image "P2" to (theImageHeight/2)
>>     set the imagedata of image "P2" to destImageData
>> end mouseUp
>>
>> this should give you in "P2" an image half the height of P1 with  
>> every
>> second line of the original image.
>>
>> it works for me, attention, almost no error checking in here,
>> it is important to have the width and height correct otherwise the  
>> image
>> will be distorted
>>
>> just curious: why do you want to eliminate every second line of an  
>> image?
>>
>> hth
>>
>> Bernd
>>
>>
>>
>> Josh Mellicker wrote:
>>>
>>> Here's one for the image processing gurus out there:
>>>
>>> How difficult is it to take an image, and create a new image
>>> containing every OTHER line from it (e.g., just the odd lines) so  
>>> the
>>> resulting picture is half the height?
>>>
>>> Once you knew the width of the image, isn't it just a loop that
>>> copies tWidth pixels, then skips the next tWidth, and so on?
>>>
>>> Thanks!
>>> _______________________________________________
>>> use-revolution mailing list
>>> use-revolution at lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your
>>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-revolution
>>>
>>>
>>
>> -- 
>> View this message in context: http://www.nabble.com/deleting-every- 
>> other-line-in-an-image-tf4793676.html#a13716667
>> Sent from the Revolution - User mailing list archive at Nabble.com.
>>
>> _______________________________________________
>> use-revolution mailing list
>> use-revolution at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your  
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-revolution
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your  
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution




More information about the use-livecode mailing list