The Display module provides comprehensive graphics and text rendering capabilities for drawing on the device screen or creating sprite objects for off-screen rendering.
vardisplay=require("display");varw=display.width();varh=display.height();console.log("Display size: "+w+"x"+h);// Center a rectanglevarrectW=60,rectH=40;varx=(w-rectW)/2;vary=(h-rectH)/2;display.drawRect(x,y,rectW,rectH,0xFFFF);
vardisplay=require("display");// Create colorsvarred=display.color(255,0,0);vargreen=display.color(0,255,0);varblue=display.color(0,0,255);varyellow=display.color(255,255,0);varpurple=display.color(128,0,128);// Use colors in drawingdisplay.fill(0);display.drawFillRect(10,10,20,20,red);display.drawFillRect(35,10,20,20,green);display.drawFillRect(60,10,20,20,blue);// Common color constantsvarWHITE=display.color(255,255,255);varBLACK=display.color(0,0,0);varGRAY=display.color(128,128,128);
vardisplay=require("display");varsystem=require("system");// Different background colorsdisplay.fill(0x0000);// Blacksystem.delay(1000);display.fill(0xFFFF);// Whitesystem.delay(1000);display.fill(display.color(64,64,128));// Dark blue
vardisplay=require("display");varsystem=require("system");// Draw random pixelsdisplay.fill(0);for(vari=0;i<100;i++){varx=system.random(display.width());vary=system.random(display.height());varcolor=display.color(system.random(256),system.random(256),system.random(256));display.drawPixel(x,y,color);}
vardisplay=require("display");display.fill(0);// Star patternvarcenterX=display.width()/2;varcenterY=display.height()/2;varwhite=display.color(255,255,255);for(varangle=0;angle<360;angle+=30){varrad=angle*Math.PI/180;varx=centerX+Math.cos(rad)*30;vary=centerY+Math.sin(rad)*30;display.drawLine(centerX,centerY,x,y,white);}
vardisplay=require("display");display.fill(0);varcenterX=display.width()/2;varcenterY=display.height()/2;// Pie chart segmentsdisplay.drawArc(centerX,centerY,10,30,0,120,display.color(255,0,0));display.drawArc(centerX,centerY,10,30,120,240,display.color(0,255,0));display.drawArc(centerX,centerY,10,30,240,360,display.color(0,0,255));
vardisplay=require("display");display.fill(0);// Different text sizes and colorsdisplay.setTextSize(1);display.setTextColor(display.color(255,255,255));display.drawString("Size 1",10,10);display.setTextSize(2);display.setTextColor(display.color(255,0,0));display.drawString("Size 2",10,25);// Aligned textdisplay.setTextAlign("center","middle");display.setTextColor(display.color(0,255,0));display.drawString("Centered",display.width()/2,display.height()/2);// Print-style textdisplay.setTextAlign("left","top");display.setTextColor(display.color(255,255,0));display.setCursor(10,60);display.print("Line 1");display.setCursor(10,70);display.println("Line 2");
vardisplay=require("display");// Create a spritevarsprite=newdisplay.Sprite(64,32);// Draw to sprite (same API as display)sprite.drawFillRect(0,0,64,32,display.color(255,0,0));sprite.setTextColor(display.color(255,255,255));sprite.setTextSize(1);sprite.drawString("Sprite!",5,5);// Draw sprite to display at position (20, 20)display.fill(0);sprite.pushToDisplay(20,20);
vardisplay=require("display");functiondrawBarChart(data,labels){display.fill(0);varmaxValue=Math.max.apply(Math,data);varbarWidth=Math.floor(display.width()/data.length)-2;varmaxBarHeight=display.height()-30;// Titledisplay.setTextColor(display.color(255,255,255));display.setTextSize(1);display.setTextAlign("center","top");display.drawString("Data Chart",display.width()/2,5);// Draw barsfor(vari=0;i<data.length;i++){varbarHeight=(data[i]/maxValue)*maxBarHeight;varx=i*(barWidth+2)+2;vary=display.height()-barHeight-15;// Generate color based on valuevarcolorValue=Math.floor((data[i]/maxValue)*255);varbarColor=display.color(colorValue,255-colorValue,128);display.drawFillRect(x,y,barWidth,barHeight,barColor);// Labeldisplay.setTextAlign("center","top");display.drawString(labels[i],x+barWidth/2,display.height()-12);// Valuedisplay.setTextAlign("center","bottom");display.drawString(String(data[i]),x+barWidth/2,y-2);}}// Example usagevarsensorData=[23,45,67,34,56,78];varsensorLabels=["A","B","C","D","E","F"];drawBarChart(sensorData,sensorLabels);