Pinstripe/Display: Difference between revisions
Content added Content deleted
(Adding PureBasic) |
(promoted to task) |
||
Line 1: | Line 1: | ||
{{ |
{{task}} |
||
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. |
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. |
Revision as of 22:46, 3 June 2011
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