Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

72
LINES

< > BotCompany Repo | #1014268 // Processing: "Marshall Servo Position" Gauge with background image (OK)

JavaX source code (desktop) [tags: use-pretranspiled] - run with: x30.jar

Download Jar. Uses 994K of libraries. Click here for Pure Java version (7019L/36K).

!7

p { pMain(Gauge); }

sclass Gauge extends PApplet {

/* *************  L3Dnam - may2015  ****************** 
This sketch demonstrate how to use PNG images from a gauge and an arrow, to make a fully functional
"real like" Gauge responding for the Mouse-X movement, showing angles for a Servo position (0º to 180º) 
for example!  Need 2 PNG images on Data subFolder inside the Sketch folder.
Marshall B&P gauge.png  and  marshall B&P ponteiro.png. -->  Both images must have no Background.
Create your own png images from real gauges or Other Objetcs and Enjoy.
*/

PImage mostrador, ponteiro; //both images on DATA subfolder
PFont fontA;
int Tx, Ty, P0, P180;       // Tx/Ty position text indicator  P0/P180 start & End point of Arrow
int Wsize1 = 300;   //Wsize1  &  Wsize2 = tamanho janela 
int Wsize2 = 300;
int gauge;       // Gauge1 and Gauge2 are 2 example gauges,  choose one of them on line 20

void settings() {
  size (Wsize1,Wsize2 /*,OPENGL XXX*/);
}

void setup() {
/******************************************************************/  
 gauge = 1;     // Gauge Type 1,  choose 2 for another Gauge
/******************************************************************/   
switch (gauge) {
  case 1: 
      mostrador = loadImage(loadImageAsFilePath(#1101160)/*"Gauge B&P Marshall 180.png"*/);
      ponteiro = loadImage(loadImageAsFilePath(#1101161)/*"marshall B&P ponteiro.png"*/); //loadImage("Ponteiro_Vermelho.png");
      Tx=-20 ;  Ty=58; P0=0  ;  P180=272 ;
    break;
  case 2: 
      mostrador = loadImage("gauge.png");
      ponteiro = loadImage(loadImageAsFilePath(#1101162)/*"Ponteiro_Vermelho.png"*/); //loadImage("Ponteiro_Vermelho.png");
      Tx=-17 ;  Ty=74; P0=-226  ;  P180=46 ;
    break;
 }
 imageMode(CENTER);
 fontA = createFont(libraryPath(#1014271/*"dutcheb.ttf"*/), 20); //numeric indication of the Angle
 textFont(fontA);
 
 // Uncomment the following two lines to see the available fonts 
 // String[] fontList = PFont.list();
 //  printArray(fontList);
}


void draw() {
  background(177);
  stroke(153);
  translate(Wsize1/2, Wsize2/2); // posiciona o mostrador no centro da tela
  image(mostrador, 0 , 0 , Wsize1*0.9f, Wsize2*0.9f); // imagem, coluna, linha, Widt, Height
  float rodar = map(mouseX, 0,width,P0,P180); //mouseX movement 0 & 360 grauss for Arrow
  float angulo = map(mouseX, 0,width,0,181); //Numeric mouseX movement 0 & 360 grauss
     fill(255,255,255);                      // Text Color = Blank
     text((int) angulo, Tx,Ty);              // Position of Text with Numeric Angle
     rotate(radians((int) rodar));            // Rotate the Arrow as "rodar" value
switch(gauge) {
  case 1: 
      image(ponteiro, -22.9f, 23.1f, Wsize1*0.33f, Wsize2*0.33f); // imagem, coluna, linha, Widt, Height
    break;
  case 2: 
      image(ponteiro, 21.5f, 0.2f, Wsize1*0.43f, Wsize2*0.06f); // imagem, coluna, linha, Widt, Height
    break;     
  }
}

}

Author comment

https://github.com/L3Dnam/Professional-Gauges-with-Processing

download  show line numbers  debug dex  old transpilations   

Travelled to 14 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, onxytkatvevr, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt

No comments. add comment

Snippet ID: #1014268
Snippet name: Processing: "Marshall Servo Position" Gauge with background image (OK)
Eternal ID of this version: #1014268/14
Text MD5: 86fd1717f793cab1d2414b5a7042f539
Transpilation MD5: 7a3c58308ba66563cd11a86500a635bf
Author: stefan
Category: javax
Type: JavaX source code (desktop)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2018-04-19 16:12:05
Source code size: 2978 bytes / 72 lines
Pitched / IR pitched: No / No
Views / Downloads: 425 / 1789
Version history: 13 change(s)
Referenced in: [show references]