Pinstripe/Display
Pinstripe/Display
You are encouraged to solve this task according to the task description, using any language you may know.
You are encouraged to solve this task according to the task description, using any language you may know.
The task is to demonstrate the creation of 1 pixel wide pinstripes across the width of the display. The pinstripes should alternate one pixel white, one pixel black.
Quarter of the way down the display, we can switch to a wider 2 pixel wide pinstripe pattern, alternating two pixels white, two pixels black. Half way down the display, we switch to 3 pixels wide, and for the lower quarter of the display we use 4 pixels.
PureBasic
Generating the Pinstripe picture <lang PureBasic>Procedure PinstripeDisplay(Width=800)
Protected x, l=1, imgID imgID=CreateImage(#PB_Any, Width, 1) If imgID StartDrawing(ImageOutput(imgID)) Repeat Line(x, 0, l, 1, #White) If x>=3*Width/4 : l=4 ElseIf x>=Width/2 : l=3 ElseIf x>=Width/4 : l=2 EndIf x+2*l Until x >= Width StopDrawing() EndIf ProcedureReturn imgID
EndProcedure</lang> Test the code, and save the result. <lang PureBasic>PicID=PinstripeDisplay() If PicID And UsePNGImageEncoder()
Path$=GetSpecialFolder(#CSIDL_DESKTOP)+"PB_Pinstripe.png" SaveImage(PicID, Path$,#PB_ImagePlugin_PNG,0,2)
EndIf</lang> Result